Lines Matching refs:host_data

64 	struct stm32_exti_host_data *host_data;
383 struct hwspinlock *hwlock = chip_data->host_data->hwlock;
420 void __iomem *base = chip_data->host_data->base;
433 void __iomem *base = chip_data->host_data->base;
507 void __iomem *base = chip_data->host_data->base;
516 void __iomem *base = chip_data->host_data->base;
529 void __iomem *base = chip_data->host_data->base;
586 struct hwspinlock *hwlock = chip_data->host_data->hwlock;
587 void __iomem *base = chip_data->host_data->base;
648 struct stm32_exti_host_data *host_data = dev_get_drvdata(dev);
652 for (i = 0; i < host_data->drv_data->bank_nr; i++) {
653 chip_data = &host_data->chips_data[i];
662 struct stm32_exti_host_data *host_data = dev_get_drvdata(dev);
666 for (i = 0; i < host_data->drv_data->bank_nr; i++) {
667 chip_data = &host_data->chips_data[i];
678 void __iomem *base = chip_data->host_data->base;
715 struct stm32_exti_host_data *host_data = dm->host_data;
726 if (hwirq >= host_data->drv_data->bank_nr * IRQS_PER_BANK)
730 chip_data = &host_data->chips_data[bank];
734 dev_err(host_data->dev, "event %lu is reserved, secure\n", hwirq);
738 event_trg = readl_relaxed(host_data->base + chip_data->reg_bank->trg_ofst);
744 if (host_data->dt_has_irqs_desc) {
748 ret = of_irq_parse_one(host_data->dev->of_node, hwirq, &out_irq);
761 if (!host_data->drv_data->desc_irqs)
764 desc_irq = host_data->drv_data->desc_irqs[hwirq];
782 struct stm32_exti_host_data *host_data;
784 host_data = kzalloc(sizeof(*host_data), GFP_KERNEL);
785 if (!host_data)
788 host_data->drv_data = dd;
789 host_data->chips_data = kcalloc(dd->bank_nr,
792 if (!host_data->chips_data)
795 host_data->base = of_iomap(node, 0);
796 if (!host_data->base) {
801 return host_data;
804 kfree(host_data->chips_data);
806 kfree(host_data);
822 chip_data->host_data = h_data;
847 struct stm32_exti_host_data *host_data;
853 host_data = stm32_exti_host_init(drv_data, node);
854 if (!host_data)
879 chip_data = stm32_exti_chip_init(host_data, i, node);
883 gc->reg_base = host_data->base;
911 iounmap(host_data->base);
912 kfree(host_data->chips_data);
913 kfree(host_data);
923 static void stm32_exti_check_rif(struct stm32_exti_host_data *host_data)
929 hwcfgr1 = readl_relaxed(host_data->base + EXTI_HWCFGR1);
933 for (bank = 0; bank < host_data->drv_data->bank_nr; bank++) {
936 cidcfgr = readl_relaxed(host_data->base + EXTI_EnCIDCFGR(event));
939 host_data->chips_data[bank].event_reserved |= BIT(i);
957 struct stm32_exti_host_data *host_data;
960 host_data = devm_kzalloc(dev, sizeof(*host_data), GFP_KERNEL);
961 if (!host_data)
964 dev_set_drvdata(dev, host_data);
965 host_data->dev = dev;
974 host_data->hwlock = devm_hwspin_lock_request_specific(dev, ret);
975 if (!host_data->hwlock) {
985 /* initialize host_data */
991 host_data->drv_data = drv_data;
993 host_data->chips_data = devm_kcalloc(dev, drv_data->bank_nr,
994 sizeof(*host_data->chips_data),
996 if (!host_data->chips_data)
999 host_data->base = devm_platform_ioremap_resource(pdev, 0);
1000 if (IS_ERR(host_data->base))
1001 return PTR_ERR(host_data->base);
1004 stm32_exti_chip_init(host_data, i, np);
1006 stm32_exti_check_rif(host_data);
1017 host_data);
1029 host_data->dt_has_irqs_desc = true;