aboutsummaryrefslogtreecommitdiff
path: root/include/linux/platform_data/gpio-davinci.h
AgeCommit message (Collapse)AuthorFilesLines
2020-08-12include/: replace HTTP links with HTTPS onesAlexander A. Klimov1-1/+1
Rationale: Reduces attack surface on kernel devs opening the links for MITM as HTTPS traffic is much harder to manipulate. Signed-off-by: Alexander A. Klimov <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Reviewed-by: Kees Cook <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Linus Torvalds <[email protected]>
2018-11-26gpio: davinci: restore a way to manually specify the GPIO baseBartosz Golaszewski1-0/+2
Commit 587f7a694f01 ("gpio: davinci: Use dev name for label and automatic base selection") broke the network support in legacy boot mode for da850-evm since we can no longer request the MDIO clock GPIO. Other boards may be broken too, which I haven't tested. The problem is in the fact that most board files still use the legacy GPIO API where lines are requested by numbers rather than descriptors. While this should be fixed eventually, in order to unbreak the board for now - provide a way to manually specify the GPIO base in platform data. Fixes: 587f7a694f01 ("gpio: davinci: Use dev name for label and automatic base selection") Cc: [email protected] Signed-off-by: Bartosz Golaszewski <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Sekhar Nori <[email protected]>
2018-09-20gpio: davinci: Move driver local definitions to driverAndrew F. Davis1-28/+0
These defines, structs and inline functions are used only internally by the driver, they do not belong in platform_data. Move them. Signed-off-by: Andrew F. Davis <[email protected]> Tested-by: Keerthy <[email protected]> Acked-by: Keerthy <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2018-09-20gpio: davinci: Remove unneeded GPIO macroAndrew F. Davis1-5/+0
This macro does nothing and has only one user, remove it. Signed-off-by: Andrew F. Davis <[email protected]> Tested-by: Keerthy <[email protected]> Acked-by: Keerthy <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2018-09-20gpio: davinci: Remove unused member of davinci_gpio_controllerAndrew F. Davis1-1/+0
This was added as part of the patch in the fixes below, but was not needed or used, remove this here. Fixes: 8e11047b8f3c ("gpio: davinci: Add support for multiple GPIO controllers") Tested-by: Keerthy <[email protected]> Acked-by: Keerthy <[email protected]> Signed-off-by: Andrew F. Davis <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2018-06-18gpio: davinci: Do not assume continuous IRQ numberingKeerthy1-1/+2
Currently the driver assumes that the interrupts are continuous and does platform_get_irq only once and assumes the rest are continuous, instead call platform_get_irq for all the interrupts and store them in an array for later use. Signed-off-by: Keerthy <[email protected]> Reviewed-by: Grygorii Strashko <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2017-01-26gpio: davinci: Add support for multiple GPIO controllersKeerthy1-0/+1
Update GPIO driver to support Multiple GPIO controllers by updating the base of subsequent GPIO chips with total of previous chips gpio count so that gpio_add_chip gets unique numbers. Signed-off-by: Keerthy <[email protected]> Reviewed-by: Grygorii Strashko <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2017-01-26gpio: davinci: Redesign driver to accommodate ngpios in one gpio chipKeerthy1-2/+10
The Davinci GPIO driver is implemented to work with one monolithic Davinci GPIO platform device which may have up to Y(144) gpios. The Davinci GPIO driver instantiates number of GPIO chips with max 32 gpio pins per each during initialization and one IRQ domain. So, the current GPIO's opjects structure is: <platform device> Davinci GPIO controller |- <gpio0_chip0> ------| ... |--- irq_domain (hwirq [0..143]) |- <gpio0_chipN> ------| Current driver creates one chip for every 32 GPIOs in a controller. This was a limitation earlier now there is no need for that. Hence redesigning the driver to create one gpio chip for all the ngpio in the controller. |- <gpio0_chip0> ------|--- irq_domain (hwirq [0..143]). The previous discussion on this can be found here: https://www.spinics.net/lists/linux-omap/msg132869.html Signed-off-by: Keerthy <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2017-01-26gpio: davinci: Remove unwanted blank lineKeerthy1-1/+0
Remove redundant blank line. Signed-off-by: Keerthy <[email protected]> Reviewed-by: Grygorii Strashko <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2017-01-11gpio: davinci: Remove redundant members davinci_gpio_controller stuctKeerthy1-3/+0
davinci_gpio_controller struct has set_data, in_data, clr_data members that are assigned and never used. Signed-off-by: Keerthy <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2014-03-05gpio: remove obsolete tnetv107x driverArnd Bergmann1-4/+0
The tnetv107x platform is getting removed, so this driver won't be needed any more. Signed-off-by: Arnd Bergmann <[email protected]> Cc: Linus Walleij <[email protected]> Cc: Alexandre Courbot <[email protected]> Cc: [email protected] Acked-by: Sekhar Nori <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2013-12-26gpio: davinci: remove unused variable intc_irq_numLad, Prabhakar1-1/+0
As the davinci-gpio driver is migrated to use irqdomain there is no need to pass the irq base for the gpio driver. This patch removes this variable from davinci_gpio_platform_data and also the refrences from the machine file. Signed-off-by: Lad, Prabhakar <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Sekhar Nori <[email protected]>
2013-12-26gpio: davinci: convert to use irqdomain support.Lad, Prabhakar1-1/+1
Convert the davinci gpio driver to use irqdomain support. Signed-off-by: Lad, Prabhakar <[email protected]> [[email protected]: - switch to use one irq-domain per all GPIO banks - keep irq_create_mapping() call in gpio_to_irq_banked() as it simply transformed to irq_find_mapping() if IRQ mapping exist already] Signed-off-by: Grygorii Strashko <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Sekhar Nori <[email protected]>
2013-09-25ARM: davinci: gpio: use gpiolib API instead of inline functionsPhilip Avinash1-0/+35
Remove NEED_MACH_GPIO_H config select option for ARCH_DAVINCI to start using gpiolib interface for davinci platforms. This makes it easier to use the gpio driver on other platforms as it breaks dependency on mach-davinci. Latencies for gpio_get/set APIs will increase. On measurement, latency was found to have increased by 18 microsecond with gpiolib API as compared to inline APIs. Measurement was done on DA850 EVM for gpio_get_value() API by taking the printk timing across the call with interrupts disabled. inline gpio API with interrupt disabled [ 29.734337] before gpio_get [ 29.736847] after gpio_get Time difference 0.00251 gpio library with interrupt disabled [ 272.876763] before gpio_get [ 272.879291] after gpio_get Time difference 0.002528 Latency increased by (0.002528 - 0.00251) = 18 microsecond. While at it, remove GPIO_TYPE_DAVINCI enum definition as gpio-davinci.c is converted to Linux device driver model. Signed-off-by: Philip Avinash <[email protected]> Signed-off-by: Lad, Prabhakar <[email protected]> Acked-by: Linus Walleij <[email protected]> [[email protected]: minor edits to commit message] Signed-off-by: Sekhar Nori <[email protected]>
2013-09-24gpio: davinci: move to platform deviceKV Sujith1-0/+25
Modify DaVinci GPIO driver to become a platform device driver. The driver does not have platform driver structure or a probe. Instead, it has pure_initcall function for initialization. The platform specific informaiton is obtained using the DaVinci specific davinci_soc_info structure. This is a problem for Device Tree (DT) implementation. As a first stage of DT conversion, we implement a probe. Additional notes: - The driver registration happens as postcore_initcall. This is required since machine init functions like da850_lcd_hw_init() make use of GPIO. - Start using devres APIs for simpler error handling. Signed-off-by: KV Sujith <[email protected]> [[email protected]: Move global definition of "davinci_gpio_controller" to local] Signed-off-by: Philip Avinash <[email protected]> Acked-by: Linus Walleij <[email protected]> [[email protected]: drop unused structure member, rebase to new clean-up patch and fix error messages] Signed-off-by: Sekhar Nori <[email protected]> Signed-off-by: Lad, Prabhakar <[email protected]>