On 08/02/2015 08:00 PM, Hauke Mehrtens wrote: > From: Linus Walleij <linus.walleij@xxxxxxxxxx> > > This switches the BCMA GPIO driver to use GPIOLIB_IRQCHIP to > handle its interrupts instead of rolling its own copy of the > irqdomain handling etc. > > Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> > Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> > --- > > I fixed some bugs in the original patch, some of them are compile > errors and others caused some runtime problems. This patch worked on my > BCM4708 based device, I was able to receive an IRQ for a GPIO change > (button press). > > I think this should go through the wireless tree. > > @Linus could you please check if the changes I did are correct? > > drivers/bcma/Kconfig | 2 +- > drivers/bcma/driver_gpio.c | 105 ++++++++++++---------------- > include/linux/bcma/bcma_driver_chipcommon.h | 1 - > 3 files changed, 44 insertions(+), 64 deletions(-) > ..... > @@ -218,9 +190,18 @@ int bcma_gpio_init(struct bcma_drv_cc *cc) > chip->set = bcma_gpio_set_value; > chip->direction_input = bcma_gpio_direction_input; > chip->direction_output = bcma_gpio_direction_output; > -#if IS_BUILTIN(CONFIG_BCM47XX) || IS_BUILTIN(CONFIG_ARCH_BCM_5301X) > - chip->to_irq = bcma_gpio_to_irq; > -#endif > + chip->owner = THIS_MODULE; > + switch (bus->hosttype) { > + case BCMA_HOSTTYPE_PCI: > + chip->dev = &bus->host_pci->dev; > + break; > + case BCMA_HOSTTYPE_SOC: > + chip->dev = &bus->host_pdev->dev; > + break; > + case BCMA_HOSTTYPE_SDIO: > + chip->dev = &bus->host_sdio->dev; > + break; > + } I will replace this part with a call to the newly introduced function bcma_bus_get_host_dev() in a new version of this patch. This function was introduced in "bcma: fix access to host_pdev for PCIe devices" ..... -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html