linux-next/arch/arm
Linus Walleij 767d83361a Input: ads7846 - Convert to use software nodes
The Nokia 770 is using GPIOs from the global numberspace on the
CBUS node to pass down to the LCD controller. This regresses when we
let the OMAP GPIO driver use dynamic GPIO base.

The Nokia 770 now has dynamic allocation of IRQ numbers, so this
needs to be fixed for it to work.

As this is the only user of LCD MIPID we can easily augment the
driver to use a GPIO descriptor instead and resolve the issue.

The platform data .shutdown() callback wasn't even used in the
code, but we encode a shutdown asserting RESET in the remove()
callback for completeness sake.

The CBUS also has the ADS7846 touchscreen attached.

Populate the devices on the Nokia 770 CBUS I2C using software
nodes instead of platform data quirks. This includes the LCD
and the ADS7846 touchscreen so the conversion just brings the LCD
along with it as software nodes is an all-or-nothing design
pattern.

The ADS7846 has some limited support for using GPIO descriptors,
let's convert it over completely to using device properties and then
fix all remaining boardfile users to provide all platform data using
software nodes.

Dump the of includes and of_match_ptr() in the ADS7846 driver as part
of the job.

Since we have to move ADS7846 over to obtaining the GPIOs it is
using exclusively from descriptors, we provide descriptor tables
for the two remaining in-kernel boardfiles using ADS7846:

- PXA Spitz
- MIPS Alchemy DB1000 development board

It was too hard for me to include software node conversion of
these two remaining users at this time: the spitz is using a
hscync callback in the platform data that would require further
GPIO descriptor conversion of the Spitz, and moving the hsync
callback down into the driver: it will just become too big of
a job, but it can be done separately.

The MIPS Alchemy DB1000 is simply something I cannot test, so take
the easier approach of just providing some GPIO descriptors in
this case as I don't want the patch to grow too intrusive.

As we see that several device trees have incorrect polarity flags
and just expect to bypass the gpiolib polarity handling, fix up
all device trees too, in a separate patch.

Suggested-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Fixes: 92bf78b33b ("gpio: omap: use dynamic allocation of base")
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2023-05-24 15:01:30 +02:00
..
boot modules-6.4-rc1 2023-04-27 16:36:55 -07:00
common ARM: Convert to platform remove callback returning void 2023-03-17 16:03:57 +01:00
configs - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of 2023-04-27 19:42:02 -07:00
crypto This update includes the following changes: 2023-02-21 18:10:50 -08:00
include Locking changes in v6.4: 2023-05-05 12:56:55 -07:00
kernel SMP cross-CPU function-call updates for v6.4: 2023-04-28 15:03:43 -07:00
lib ARM: 9290/1: uaccess: Fix KASAN false-positives 2023-03-06 15:25:08 +00:00
mach-actions treewide: Trace IPIs sent via smp_send_reschedule() 2023-03-24 11:01:28 +01:00
mach-airoha
mach-alpine
mach-artpec
mach-asm9260
mach-aspeed
mach-at91
mach-axxia
mach-bcm ARM: bcm: Use of_address_to_resource() 2023-03-24 14:08:43 -07:00
mach-berlin
mach-clps711x
mach-davinci Scheduler updates in this cycle are: 2023-02-20 17:41:08 -08:00
mach-digicolor
mach-dove PCI: Introduce pci_dev_for_each_resource() 2023-04-04 10:43:52 -05:00
mach-ep93xx ARM: SoC updates for 6.3 2023-02-20 15:36:37 -08:00
mach-exynos ARM: EXYNOS: Use of_address_to_resource() 2023-03-22 18:47:01 +01:00
mach-footbridge ARM: unused boardfile removal for 6.3 2023-02-20 15:28:57 -08:00
mach-gemini arch/idle: Change arch_cpu_idle() behavior: always exit with IRQs disabled 2023-01-13 11:48:15 +01:00
mach-highbank
mach-hisi
mach-hpe
mach-imx i.MX SoC changes for 6.4: 2023-04-14 14:04:03 +02:00
mach-ixp4xx
mach-keystone
mach-lpc18xx
mach-lpc32xx
mach-mediatek
mach-meson
mach-milbeaut
mach-mmp ARM: mmp: remove obsolete config USB_EHCI_MV_U2O 2023-03-19 22:25:45 +01:00
mach-moxart
mach-mstar ARM: mstar: remove unused config MACH_MERCURY 2023-03-24 18:53:25 +01:00
mach-mv78xx0 pci-v6.4-changes 2023-04-27 10:45:30 -07:00
mach-mvebu
mach-mxs ARM: mxs: Use of_property_present() for testing DT property presence 2023-03-14 15:05:52 +08:00
mach-nomadik
mach-npcm
mach-nspire
mach-omap1 Input: ads7846 - Convert to use software nodes 2023-05-24 15:01:30 +02:00
mach-omap2 gpio updates for v6.4-rc1 2023-04-25 17:18:18 -07:00
mach-orion5x pci-v6.4-changes 2023-04-27 10:45:30 -07:00
mach-pxa Input: ads7846 - Convert to use software nodes 2023-05-24 15:01:30 +02:00
mach-qcom firmware: qcom_scm: Move qcom_scm.h to include/linux/firmware/qcom/ 2023-02-08 19:15:16 -08:00
mach-rda ARM: 9285/1: remove meaningless arch/arm/mach-rda/Makefile 2023-01-12 14:30:16 +00:00
mach-realtek
mach-rockchip
mach-rpc lazy tlb: introduce lazy tlb mm refcount helper functions 2023-03-28 16:20:08 -07:00
mach-s3c ARM: s3c64xx: Use the right include 2023-03-06 12:33:01 +02:00
mach-s5pv210
mach-sa1100 gpio updates for v6.4-rc1 2023-04-25 17:18:18 -07:00
mach-shmobile ARM: sh-mobile: Use of_cpu_node_to_id() to read CPU node 'reg' 2023-03-30 16:02:42 +02:00
mach-socfpga
mach-spear ARM: spear: remove obsolete config MACH_SPEAR600 2023-03-24 18:53:08 +01:00
mach-sti
mach-stm32 ARM: stm32: add support for STM32MP151 2023-03-28 16:39:36 +02:00
mach-sunplus
mach-sunxi ARM: sunxi: Drop of_device.h include 2023-04-13 17:46:34 -05:00
mach-tegra power: remove pda_power supply driver 2023-02-01 17:23:38 +01:00
mach-uniphier
mach-ux500
mach-versatile
mach-vt8500
mach-zynq ARM: zynq: Fix refcount leak in zynq_early_slcr_init 2023-01-05 10:07:43 +01:00
mm Driver core changes for 6.4-rc1 2023-04-27 11:53:57 -07:00
net
nwfpe
plat-orion ARM: orion/gpio: Use the right include 2023-03-06 12:33:00 +02:00
probes
tools
vdso vdso: Improve cmd_vdso_check to check all dynamic relocations 2023-03-21 21:15:34 +01:00
vfp ARM: 9294/2: vfp: Fix broken softirq handling with instrumentation enabled 2023-04-12 10:04:56 +01:00
xen
Kbuild
Kconfig - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of 2023-04-27 19:42:02 -07:00
Kconfig-nommu
Kconfig.assembler
Kconfig.debug ARM udpates for 6.3-rc1 2023-02-21 15:21:29 -08:00
Makefile ARM: oxnas: remove OXNAS support 2023-04-04 16:32:37 +02:00