Search Linux Wireless

Re: [PATCH 1/2] bcma: use absolute base for SoC GPIO pins

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2015-04-15 16:33, Rafał Miłecki wrote:
> On 15 April 2015 at 15:07, Felix Fietkau <nbd@xxxxxxxxxxx> wrote:
>> @@ -235,16 +235,17 @@ int bcma_gpio_init(struct bcma_drv_cc *cc)
>>         }
>>
>>         /*
>> -        * On MIPS we register GPIO devices (LEDs, buttons) using absolute GPIO
>> -        * pin numbers. We don't have Device Tree there and we can't really use
>> -        * relative (per chip) numbers.
>> -        * So let's use predictable base for BCM47XX and "random" for all other.
>> +        * Register SoC GPIO devices with absolute GPIO pin base.
>> +        * On MIPS, we don't have Device Tree and we can't use relative (per chip)
>> +        * GPIO numbers.
>> +        * On some ARM devices, user space may want to access some system GPIO
>> +        * pins directly, which is easier to do with a predictable GPIO base.
>>          */
>> -#if IS_BUILTIN(CONFIG_BCM47XX)
>> -       chip->base              = bus->num * BCMA_GPIO_MAX_PINS;
>> -#else
>> -       chip->base              = -1;
>> -#endif
>> +       if (IS_BUILTIN(CONFIG_BCM47XX) ||
>> +           cc->core->bus->hosttype == BCMA_HOSTTYPE_SOC)
>> +               chip->base              = bus->num * BCMA_GPIO_MAX_PINS;
>> +       else
>> +               chip->base              = -1;
> 
> Is there any chance you will need predictable GPIO numbers of extra
> bcma buses on ARM? Like accessing GPIO of PCIe card from user space?
> Then you could prefer IS_BUILTIN(CONFIG_ARCH_BCM_5301X)
> 
> Anyway, I'm OK with this patch.
I don't think I need it, and I didn't want this change to produce
conflicts on multi-arch builds, so I limited it to the SoC bus only.

- Felix
--
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




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux