android_kernel_xiaomi_sm8350/drivers
Grant Likely 594fa265e0 of/gpio: stop using device_node data pointer to find gpio_chip
Currently the kernel uses the struct device_node.data pointer to resolve
a struct gpio_chip pointer from a device tree node.  However, the .data
member doesn't provide any type checking and there aren't any rules
enforced on what it should be used for.  There's no guarantee that the
data stored in it actually points to an gpio_chip pointer.

Instead of relying on the .data pointer, this patch modifies the code
to add a lookup function which scans through the registered gpio_chips
and returns the gpio_chip that has a pointer to the specified
device_node.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Anton Vorontsov <avorontsov@ru.mvista.com>
CC: Grant Likely <grant.likely@secretlab.ca>
CC: David Brownell <dbrownell@users.sourceforge.net>
CC: Bill Gatliff <bgat@billgatliff.com>
CC: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: Jean Delvare <khali@linux-fr.org>
CC: linux-kernel@vger.kernel.org
CC: devicetree-discuss@lists.ozlabs.org
2010-07-05 16:14:30 -06:00
..
accessibility
acpi Merge branch 'acpi-idle' into release 2010-06-04 15:23:02 -04:00
amba
ata sata_sil24: Use memory barriers before issuing commands 2010-06-10 16:06:48 -04:00
atm sparc/of: Move of_device fields into struct pdev_archdata 2010-06-28 12:41:33 -07:00
auxdisplay
base
block Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block 2010-06-04 15:37:44 -07:00
bluetooth
cdrom
char Revert "tty: fix a little bug in scrup, vt.c" 2010-06-06 20:44:04 -07:00
clocksource clocksource: sh_cmt: compute mult and shift before registration 2010-06-02 17:10:44 +09:00
connector
cpufreq
cpuidle
crypto crypto: crypto4xx - Fix build breakage 2010-06-03 16:57:24 +10:00
dca
dio
dma of/dma: fix build breakage in ppc4xx adma driver 2010-06-02 21:02:39 -06:00
edac Merge branch 'linux_next' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/i7core 2010-06-04 15:39:54 -07:00
eisa
firewire firewire: core: check for 1394a compliant IRM, fix inaccessibility of Sony camcorder 2010-06-02 19:48:13 +02:00
firmware
gpio of/gpio: stop using device_node data pointer to find gpio_chip 2010-07-05 16:14:30 -06:00
gpu Revert "drm/i915: Don't enable pipe/plane/VCO early (wait for DPMS on)." 2010-06-08 20:16:28 -07:00
hid
hwmon i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
i2c i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
ide powerpc/macio: Fix probing of macio devices by using the right of match table 2010-06-02 17:50:38 +10:00
idle
ieee1394
ieee802154
infiniband fix the deadlock in qib_fs 2010-06-04 17:16:27 -04:00
input sparc/of: Move of_device fields into struct pdev_archdata 2010-06-28 12:41:33 -07:00
isdn isdn/kcapi: return -EFAULT on copy_from_user errors 2010-06-03 03:28:22 -07:00
leds i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
lguest
macintosh of: Modify of_device_get_modalias to be passed struct device 2010-07-05 16:14:28 -06:00
mca
md
media Merge branch 'v4l_for_2.6.35' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2010-06-04 15:38:12 -07:00
memstick
message
mfd i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
misc vmware balloon: clamp number of collected non-balloonable pages 2010-06-04 15:21:44 -07:00
mmc mmc: msm: fix compile error on MSM7x30 2010-06-09 08:51:31 -07:00
mtd Merge git://git.infradead.org/~dwmw2/mtd-2.6.35 2010-06-07 17:10:06 -07:00
net of: kill struct of_device 2010-06-28 12:41:33 -07:00
nubus
of of/gpio: stop using device_node data pointer to find gpio_chip 2010-07-05 16:14:30 -06:00
oprofile
parisc
parport sparc/of: Move of_device fields into struct pdev_archdata 2010-06-28 12:41:33 -07:00
pci Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2010-06-11 14:15:44 -07:00
pcmcia pcmcia: avoid validate_cis failure on CIS override 2010-06-07 18:34:16 +02:00
platform intel_scu_ipc: Length fix 2010-06-01 08:40:47 -07:00
pnp
power i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
pps
ps3
rapidio
regulator i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
rtc rtc: s3c: initialize s3c_rtc_cpu_type before using it 2010-06-04 15:21:44 -07:00
s390 [S390] appldata/extmem/kvm: add missing GFP_KERNEL flag 2010-06-08 18:58:23 +02:00
sbus sparc/of: Move of_device fields into struct pdev_archdata 2010-06-28 12:41:33 -07:00
scsi sparc/of: Move of_device fields into struct pdev_archdata 2010-06-28 12:41:33 -07:00
serial sparc/of: Move of_device fields into struct pdev_archdata 2010-06-28 12:41:33 -07:00
sfi SFI: do not return freed pointer 2010-06-01 12:04:35 -04:00
sh sh: Make intc messages consistent via pr_fmt. 2010-06-02 18:10:00 +09:00
sn
spi of/spi: mpc512x_psc_spi.c: Fix build failures 2010-06-02 13:45:06 -06:00
ssb
staging Merge branch 'v4l_for_2.6.35' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2010-06-04 15:38:12 -07:00
tc
telephony
thermal
uio
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2010-06-04 15:42:09 -07:00
uwb
vhost misc: Fix allocation 'borrowed' by vhost_net 2010-06-09 08:50:31 -07:00
video Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2010-06-04 15:42:09 -07:00
virtio
vlynq
w1
watchdog sparc/of: Move of_device fields into struct pdev_archdata 2010-06-28 12:41:33 -07:00
xen xen: avoid allocation causing potential swap activity on the resume path 2010-06-03 09:34:45 +01:00
zorro
Kconfig
Makefile