linux/drivers/mfd
Linus Walleij 0f4630f372 gpio: generic: factor into gpio_chip struct
The separate struct bgpio_chip has been a pain to handle, both
by being confusingly similar in name to struct gpio_chip and
for being contained inside a struct so that struct gpio_chip
is contained in a struct contained in a struct, making several
steps of dereferencing necessary.

Make things simpler: include the fields directly into
<linux/gpio/driver.h>, #ifdef:ed for CONFIG_GENERIC_GPIO, and
get rid of the <linux/basic_mmio_gpio.h> altogether. Prefix
some of the member variables with bgpio_* and add proper
kerneldoc while we're at it.

Modify all users to handle the change and use a struct
gpio_chip directly. And while we're at it: replace all
container_of() dereferencing by gpiochip_get_data() and
registering the gpio_chip with gpiochip_add_data().

Cc: arm@kernel.org
Cc: Alexander Shiyan <shc_work@mail.ru>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Kukjin Kim <kgene@kernel.org>
Cc: Alexandre Courbot <gnurou@gmail.com>
Cc: Brian Norris <computersforpeace@gmail.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
Cc: Olof Johansson <olof@lixom.net>
Cc: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Cc: Rabin Vincent <rabin@rab.in>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-omap@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: bcm-kernel-feedback-list@broadcom.com
Acked-by: Gregory Fong <gregory.0xf0@gmail.com>
Acked-by: Liviu Dudau <Liviu.Dudau@arm.com>
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-01-05 11:21:00 +01:00
..
88pm80x.c mfd: 88pm80x: Add 88pm860 chip type support 2015-10-26 14:48:56 +00:00
88pm800.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
88pm805.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
88pm860x-core.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
88pm860x-i2c.c mfd: 88pm860x-i2c: Fix variable length array Sparse warning 2014-09-26 08:15:45 +01:00
Kconfig mfd: Make TPS6105X select REGMAP_I2C 2015-10-30 17:20:12 +00:00
Makefile mfd: atmel-flexcom: Add a driver for Atmel Flexible Serial Communication Unit 2015-10-30 17:19:49 +00:00
aat2870-core.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
ab3100-core.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
ab3100-otp.c mfd: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02:00
ab8500-core.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
ab8500-debugfs.c mfd: ab8500-debugfs: Pass the IRQF_ONESHOT flag 2015-06-22 12:25:27 +01:00
ab8500-gpadc.c mfd: ab8500-gpadc: Pass the IRQF_ONESHOT flag 2015-06-22 12:25:28 +01:00
ab8500-sysctrl.c mfd: ab8500: Decrement the power supply's device reference counter 2015-03-13 23:15:54 +01:00
abx500-core.c mfd: abx500-core: Remove unused function abx500_dump_all_banks() 2014-06-03 08:11:51 +01:00
adp5520.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
arizona-core.c mfd: arizona: Signedness bug in arizona_runtime_suspend() 2015-10-30 18:56:58 +00:00
arizona-i2c.c mfd: arizona: Use correct type ID for device tree config 2015-10-30 17:20:30 +00:00
arizona-irq.c mfd: arizona: Fix typo in arizona_irq_map 2015-10-26 14:49:05 +00:00
arizona-spi.c - New Device Support 2015-11-06 10:23:50 -08:00
arizona.h mfd: arizona: Add support for WM8998 and WM1814 2015-08-11 15:08:42 +01:00
as3711.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
as3722.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
asic3.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
atmel-flexcom.c mfd: atmel-flexcom: Add a driver for Atmel Flexible Serial Communication Unit 2015-10-30 17:19:49 +00:00
atmel-hlcdc.c mfd: atmel-hlcdc: Fix module autoload for OF platform driver 2015-10-26 14:48:59 +00:00
axp20x.c mfd: axp20x: Add a cell for the power button part of the, axp288 PMICs 2015-10-30 17:20:39 +00:00
bcm590xx.c mfd: bcm590xx: Remove unnecessary MODULE_ALIAS() 2015-10-26 14:49:09 +00:00
cros_ec.c mfd: cros_ec: Staticise some newly introduced structures 2015-06-22 12:23:02 +01:00
cros_ec_i2c.c mfd: cros_ec_i2c: Add OF match table 2015-10-26 14:48:55 +00:00
cros_ec_spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
cs5535-mfd.c mfd: Delete non-required instances of include <linux/init.h> 2014-03-19 08:58:07 +00:00
da903x.c mfd: da903x: Simplify function return logic 2015-10-30 17:19:45 +00:00
da9052-core.c mfd: da9053: Addition of extra registers for GPIOs 8-13 2015-10-30 17:19:49 +00:00
da9052-i2c.c mfd: da9052: Simplify function return logic 2015-10-30 17:19:46 +00:00
da9052-irq.c mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
da9052-spi.c - New Device Support 2015-11-06 10:23:50 -08:00
da9055-core.c mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
da9055-i2c.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
da9062-core.c mfd: da9062-core: Rename get_device_type to da9062_get_device_type 2015-10-30 17:19:51 +00:00
da9063-core.c mfd: da9063: Add support for OnKey driver 2015-06-22 12:25:20 +01:00
da9063-i2c.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
da9063-irq.c mfd: da9063: Fix missing DA9063_M_DVC_RDY mask bit 2015-08-11 15:08:51 +01:00
da9150-core.c mfd: da9150: Use DEFINE_RES_IRQ_NAMED() help macro for IRQ resource 2015-10-13 11:28:36 +01:00
davinci_voicecodec.c mfd: davinci_voicecodec: Constify struct regmap_config 2015-01-22 15:56:24 +00:00
db8500-prcmu.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
dbx500-prcmu-regs.h mfd: dbx500: Remove any mention of the BML8580CLK 2013-09-26 11:04:16 +02:00
dln2.c mfd: dln2: Use msecs_to_jiffies for time conversion 2015-03-26 14:20:18 +00:00
dm355evm_msp.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
ezx-pcap.c Merge remote-tracking branches 'spi/topic/omap-100k', 'spi/topic/omap-uwire', 'spi/topic/owner', 'spi/topic/pxa' and 'spi/topic/pxa2xx' into spi-next 2015-11-04 11:02:12 +00:00
hi6421-pmic-core.c mfd: hi6421-pmic: Fix module autoload for OF platform driver 2015-10-26 14:49:00 +00:00
htc-egpio.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
htc-i2cpld.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
htc-pasic3.c mfd: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
intel-lpss-acpi.c mfd: lpss: Add Broxton ACPI IDs 2015-10-30 18:57:33 +00:00
intel-lpss-pci.c mfd: lpss: Add Intel Broxton PCI IDs 2015-10-30 18:57:34 +00:00
intel-lpss.c asm-generic cleanups 2015-11-06 14:22:15 -08:00
intel-lpss.h mfd: intel-lpss: Fix build error when !CONFIG_PM_SLEEP 2015-10-01 16:31:33 +01:00
intel_msic.c mfd: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02:00
intel_quark_i2c_gpio.c mfd: intel_quark_i2c_gpio: support devices behind i2c bus 2015-10-26 15:25:55 +01:00
intel_soc_pmic_bxtwc.c mfd: intel_soc_pmic_bxtwc: 64 bit bug in bxtwc_val_store() 2015-10-30 17:19:47 +00:00
intel_soc_pmic_core.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2015-09-04 15:49:32 -07:00
intel_soc_pmic_core.h mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
intel_soc_pmic_crc.c mfd: intel_soc_pmic_crc: Add PWM cell device for Crystalcove PMIC 2015-07-21 09:22:08 +02:00
ipaq-micro.c mfd: ipaq-micro: Convert to built-in platform driver 2015-08-11 15:09:00 +01:00
janz-cmodio.c can: janz-ican3: add support for CAL/CANopen firmware 2015-05-06 08:03:20 +02:00
jz4740-adc.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
kempld-core.c mfd: kempld-core: Simplify function return logic 2015-10-30 17:19:43 +00:00
lm3533-core.c mfd: lm3533: Fix unused variable build warning 2015-10-30 17:19:52 +00:00
lm3533-ctrlbank.c
lp3943.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
lp8788-irq.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
lp8788.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
lpc_ich.c mfd: lpc_ich: Separate device cells for clarity 2015-10-30 17:18:50 +00:00
lpc_sch.c mfd: lpc_sch: Enable WDT for Intel Quark X1000 2015-01-22 15:55:56 +00:00
max8907.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
max8925-core.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
max8925-i2c.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
max8997-irq.c mfd: max899x: Avoid redundant irq_data lookup 2015-08-11 15:09:08 +01:00
max8997.c mfd: max8997: Fix module autoload for OF platform driver 2015-10-26 14:49:01 +00:00
max8998-irq.c mfd: max899x: Avoid redundant irq_data lookup 2015-08-11 15:09:08 +01:00
max8998.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
max14577.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
max77686.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
max77693.c - New Device Support 2015-09-04 11:35:03 -07:00
max77843.c mfd: max77843: Fix max77843_chg_init() return on error 2015-10-01 16:31:42 +01:00
mc13xxx-core.c mfd: mc13xxx-core: Pass the IRQF_ONESHOT flag 2015-06-22 12:25:24 +01:00
mc13xxx-i2c.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
mc13xxx-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
mc13xxx.h mfd: mc13xxx: Use regmap irq framework for interrupts 2014-07-09 14:58:10 +01:00
mcp-core.c mfd: mcp-core: Fix 'blank line after declarations' warning 2014-07-22 13:17:02 +01:00
mcp-sa11x0.c mfd: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02:00
menelaus.c mfd: menelaus: Use macro for magic number 2015-03-30 10:06:55 +01:00
menf21bmc.c mfd: menf21bmc: Introduce MEN 14F021P00 BMC MFD Core driver 2014-09-24 13:30:16 +01:00
mfd-core.c mfd: core: redo ACPI matching of the children devices 2015-10-26 15:25:53 +01:00
mt6397-core.c mfd: mt6397: Implement wake handler and suspend/resume to handle wake up event 2015-08-11 15:09:11 +01:00
omap-usb-host.c mfd: omap-usb-host: Remove some unused functions 2015-01-22 16:03:53 +00:00
omap-usb-tll.c mfd: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02:00
omap-usb.h
palmas.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
pcf50633-adc.c mfd: Delete non-required instances of include <linux/init.h> 2014-03-19 08:58:07 +00:00
pcf50633-core.c mfd: pcf50633: Constify struct regmap_config 2015-01-22 15:56:21 +00:00
pcf50633-gpio.c
pcf50633-irq.c mfd: pcf50633: Remove unneded ret variable 2015-10-30 17:19:42 +00:00
pm8921-core.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
qcom-spmi-pmic.c mfd: qcom-spmi-pmic: Add specific compatible strings for Qualcomm's SPMI PMIC's 2015-03-30 10:07:08 +01:00
qcom_rpm.c mfd: qcom_rpm: Drop use of IRQF_NO_SUSPEND flag 2015-10-30 17:19:40 +00:00
rc5t583-irq.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
rc5t583.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
rdc321x-southbridge.c mfd: rdc321x: Fix off-by-one for ngpio setting 2014-06-03 08:11:17 +01:00
retu-mfd.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
rk808.c mfd: Constify of_device_id array 2015-03-26 14:20:18 +00:00
rn5t618.c mfd: Add Ricoh RN5T618 PMIC core driver 2014-09-26 08:15:51 +01:00
rt5033.c mfd: rt5033: Add RT5033 Flash led sub device 2015-10-30 18:57:35 +00:00
rtl8411.c mfd: rtsx: Using pcr_dbg replace dev_dbg 2015-03-03 16:41:21 +00:00
rts5209.c mfd: rtsx: Simplify function return logic 2015-10-30 17:19:44 +00:00
rts5227.c mfd: rtsx: Add support for rts522A 2015-10-30 17:19:51 +00:00
rts5229.c mfd: rtsx: Simplify function return logic 2015-10-30 17:19:44 +00:00
rts5249.c mfd: rtsx: Simplify function return logic 2015-10-30 17:19:44 +00:00
rtsx_pcr.c mfd: avoid newly introduced compiler warning 2015-11-06 10:47:12 -08:00
rtsx_pcr.h mfd: rtsx: Add support for rts522A 2015-10-30 17:19:51 +00:00
rtsx_usb.c mfd: rtsx_usb: Prevent DMA from stack 2015-03-12 09:27:41 +00:00
sec-core.c mfd: sec-core: Remove unused s2mpu02-rtc and s2mpu02-clk children 2015-10-30 18:57:38 +00:00
sec-irq.c mfd: sec: Fix RTC alarm interrupt number on S2MPS11 2015-04-09 10:26:54 +01:00
si476x-cmd.c mfd: si476x-cmd: Remedy checkpatch style complains 2014-07-25 15:31:44 +01:00
si476x-i2c.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
si476x-prop.c
sky81452.c mfd: Add support for Skyworks SKY81452 driver 2015-03-12 09:08:12 +00:00
sm501.c mfd: sm501: Fix module autoload for OF platform driver 2015-10-26 14:49:02 +00:00
smsc-ece1099.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
ssbi.c mfd: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02:00
sta2x11-mfd.c mfd: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02:00
stmpe-i2c.c - New Device Support 2015-09-04 11:35:03 -07:00
stmpe-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
stmpe.c mfd: stmpe: PWM on 24xx has altfunc 1 2015-10-26 14:48:57 +00:00
stmpe.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-12-30 16:59:59 -08:00
stw481x.c mfd: stw481x: Export I2C module alias information 2015-08-11 15:09:09 +01:00
sun6i-prcm.c mfd: sun6i-prcm: Add support for the ir-clk 2015-01-22 15:55:49 +00:00
syscon.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
t7l66xb.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
tc3589x.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
tc6387xb.c mfd: tc6387xb: prepare/unprepare clocks 2014-11-25 16:18:58 +00:00
tc6393xb.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
ti_am335x_tscadc.c mfd: ti_am335x_tscadc: Remove unwanted reg_se_cache save 2015-03-03 16:41:15 +00:00
timberdale.c mfd: timberdale: Use pci_enable_msix_exact() instead of pci_enable_msix() 2014-03-19 08:58:34 +00:00
timberdale.h
tmio_core.c
tps6105x.c mfd: tps6105x: Fix possible NULL pointer access 2015-10-30 17:19:40 +00:00
tps6507x.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
tps6586x.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
tps65010.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
tps65090.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
tps65217.c mfd: tps65217: Add battery charger as subdevice 2015-10-26 14:49:08 +00:00
tps65218.c mfd: Export OF module alias information in missing drivers 2015-08-11 15:09:10 +01:00
tps65910.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
tps65911-comparator.c mfd: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02:00
tps65912-core.c mfd: Delete non-required instances of include <linux/init.h> 2014-03-19 08:58:07 +00:00
tps65912-i2c.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
tps65912-irq.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
tps65912-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
tps80031.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
twl-core.c twl4030_charger: use runtime_pm to keep usb phy active while charging. 2015-08-05 05:10:06 +02:00
twl-core.h
twl4030-audio.c mfd: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02:00
twl4030-irq.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
twl4030-power.c mfd: twl4030-power: Fix pmic for boards that need AC charger disabled 2015-06-22 12:25:04 +01:00
twl6030-irq.c mfd: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc 2015-08-11 15:09:06 +01:00
twl6040.c mfd: twl6040: Fix deferred probe handling for clk32k 2015-10-26 14:48:56 +00:00
ucb1x00-assabet.c
ucb1x00-core.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
ucb1x00-ts.c
ucb1400_core.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
vexpress-sysreg.c gpio: generic: factor into gpio_chip struct 2016-01-05 11:21:00 +01:00
viperboard.c mfd: Use mfd_add_hotplug_devices() helper 2014-11-25 16:18:42 +00:00
vx855.c mfd: Remove DEFINE_PCI_DEVICE_TABLE macro 2014-01-21 08:27:45 +00:00
wl1273-core.c mfd: wl1273: Use devm_*() functions 2013-08-20 08:51:58 +01:00
wm831x-auxadc.c mfd: wm831x-auxadc: Pass the IRQF_ONESHOT flag 2015-06-22 12:25:25 +01:00
wm831x-core.c mfd: wm831x: Fix possible NULL pointer dereference 2015-10-26 14:49:04 +00:00
wm831x-i2c.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
wm831x-irq.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
wm831x-otp.c
wm831x-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
wm5102-tables.c sound updates for 4.3-rc1 2015-09-04 11:46:02 -07:00
wm5110-tables.c mfd: arizona: Add register bits to support the ANC block 2015-10-26 14:49:06 +00:00
wm8350-core.c mfd: wm8350-core: Pass the IRQF_ONESHOT flag 2015-06-22 12:25:26 +01:00
wm8350-gpio.c
wm8350-i2c.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
wm8350-irq.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
wm8350-regmap.c
wm8400-core.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
wm8994-core.c sound updates for 4.3-rc1 2015-09-04 11:46:02 -07:00
wm8994-irq.c mfd: wm8994: Fix NULL pointer exception on missing pdata 2015-08-11 15:09:13 +01:00
wm8994-regmap.c mfd: wm8994-regmap: Constify reg_default tables 2015-08-11 15:08:47 +01:00
wm8994.h
wm8997-tables.c sound updates for 4.3-rc1 2015-09-04 11:46:02 -07:00
wm8998-tables.c mfd: wm8998: Fixup register defaults/readables 2015-10-26 14:49:07 +00:00