On 08/02/2015 08:00 PM, Hauke Mehrtens wrote:
> From: Linus Walleij <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Hauke Mehrtens <[email protected]>
> ---
>
> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html