kernel_optimize_test/drivers/mfd
Mark Brown cd99758ba3 mfd: Convert wm831x to irq_domain
The modern idiom is to use irq_domain to allocate interrupts. This is
useful partly to allow further infrastructure to be based on the domains
and partly because it makes it much easier to allocate virtual interrupts
to devices as we don't need to allocate a contiguous range of interrupt
numbers.

Convert the wm831x driver over to this infrastructure, using a legacy
IRQ mapping if an irq_base is specified in platform data and otherwise
using a linear mapping, always registering the interrupts even if they
won't ever be used. Only boards which need to use the GPIOs as
interrupts should need to use an irq_base.

This means that we can't use the MFD irq_base management since the
unless we're using an explicit irq_base from platform data we can't rely
on a linear mapping of interrupts.  Instead we need to map things via
the irq_domain - provide a conveniencem function wm831x_irq() to save a
small amount of typing when doing so. Looking at this I couldn't clearly
see anything the MFD core could do to make this nicer.

Since we're not supporting device tree yet there's no meaningful
advantage if we don't do this conversion in one, the fact that the
interrupt resources are used for repeated IP blocks makes accessor
functions for the irq_domain more trouble to do than they're worth.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:07 +02:00
..
88pm860x-core.c
88pm860x-i2c.c
aat2870-core.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
ab3100-core.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
ab3100-otp.c
ab5500-core.c mfd: Mark const init data with __initconst instead of __initdata for ab5500 2012-05-01 12:00:20 +02:00
ab5500-core.h
ab5500-debugfs.c
ab5500-debugfs.h
ab8500-core.c mfd: Support of hierachical interrupt for ab8500 2012-05-11 11:16:27 +02:00
ab8500-debugfs.c
ab8500-gpadc.c
ab8500-i2c.c mfd: Handle the ab8500 irq for suspend/resume 2012-05-01 13:33:04 +02:00
ab8500-sysctrl.c
abx500-core.c
adp5520.c
anatop-mfd.c
asic3.c mfd: No need to check for the GPIO offset from asic3_gpio_to_irq 2012-05-01 12:00:23 +02:00
cs5535-mfd.c mfd: Use module_pci_driver 2012-05-01 12:00:21 +02:00
da903x.c
da9052-core.c
da9052-i2c.c mfd: Convert da9052 to use devm_* APIs 2012-05-20 17:27:03 +02:00
da9052-spi.c mfd: Convert da9052 to use devm_* APIs 2012-05-20 17:27:03 +02:00
davinci_voicecodec.c
db5500-prcmu.c
db8500-prcmu.c mfd: Add support for db8500-prcmu regulator supply for nmk-i2c.4 2012-05-09 17:19:53 +02:00
dbx500-prcmu-regs.h
dm355evm_msp.c
ezx-pcap.c
htc-egpio.c
htc-i2cpld.c
htc-pasic3.c
intel_msic.c mfd: Convert Intel MSIC driver to use devm_* interfaces. 2012-05-01 12:00:23 +02:00
janz-cmodio.c mfd: Use module_pci_driver 2012-05-01 12:00:21 +02:00
jz4740-adc.c
Kconfig mfd: Convert wm831x to irq_domain 2012-05-20 17:27:07 +02:00
lm3533-core.c mfd: Silence an lm3533 gcc warning 2012-05-20 17:27:04 +02:00
lm3533-ctrlbank.c mfd: Use SI-units for the lm3533 max-current interface 2012-05-20 17:27:02 +02:00
lpc_ich.c watchdog: Convert iTCO_wdt driver to mfd model 2012-05-09 17:20:09 +02:00
lpc_sch.c mfd: Change tunnelcreek watchdog name on the lpc_sch subdevices array 2012-05-20 17:27:03 +02:00
Makefile mfd: Add MAX77693 irq handler 2012-05-20 17:27:06 +02:00
max8925-core.c
max8925-i2c.c
max8997-irq.c
max8997.c
max8998-irq.c
max8998.c
max77693-irq.c mfd: Add MAX77693 irq handler 2012-05-20 17:27:06 +02:00
max77693.c mfd: Add MAX77693 irq handler 2012-05-20 17:27:06 +02:00
mc13xxx-core.c mfd: Move the mc13xxx-core spi specific code into a separate module 2012-05-01 12:35:40 +02:00
mc13xxx-i2c.c mfd: Add mc13xxx i2c driver 2012-05-01 12:35:41 +02:00
mc13xxx-spi.c mfd: Move the mc13xxx-core spi specific code into a separate module 2012-05-01 12:35:40 +02:00
mc13xxx.h mfd: Move the mc13xxx-core spi specific code into a separate module 2012-05-01 12:35:40 +02:00
mcp-core.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
mcp-sa11x0.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
menelaus.c
mfd-core.c
omap-usb-host.c mfd: Fix build breakage in omap-usb-host.c 2012-05-01 12:00:24 +02:00
pcf50633-adc.c
pcf50633-core.c mfd: Convert pcf50633-core to use devm_* APIs 2012-05-20 17:27:04 +02:00
pcf50633-gpio.c
pcf50633-irq.c
pm8xxx-irq.c
pm8921-core.c
rc5t583-irq.c
rc5t583.c mfd: Convert rc5t583 to devm_regmap_init_i2c() 2012-05-09 17:50:29 +02:00
rdc321x-southbridge.c mfd: Use module_pci_driver 2012-05-01 12:00:21 +02:00
s5m-core.c mfd: Convert s5m-core to devm_regmap_init_i2c() 2012-05-09 17:50:53 +02:00
s5m-irq.c
sm501.c
sta2x11-mfd.c mfd: Add driver for STA2X11 MFD block 2012-05-09 15:34:28 +02:00
stmpe-i2c.c
stmpe-spi.c mfd: Remove redundant spi driver bus initialization 2012-05-01 12:00:22 +02:00
stmpe.c
stmpe.h
t7l66xb.c
tc3589x.c
tc6387xb.c
tc6393xb.c
ti-ssp.c
timberdale.c
timberdale.h
tmio_core.c
tps6105x.c
tps6507x.c
tps6586x.c
tps65010.c
tps65090.c mfd: Convert tps65090 to devm_regmap_init_i2c() 2012-05-09 17:51:26 +02:00
tps65217.c mfd: Staticise non-exported tps65217_update_bits() 2012-05-20 17:27:00 +02:00
tps65910-irq.c mfd: Commonize tps65910 regmap access through header 2012-05-20 17:25:23 +02:00
tps65910.c mfd: Fix tps65910 build failure 2012-05-20 17:27:00 +02:00
tps65911-comparator.c
tps65912-core.c
tps65912-i2c.c
tps65912-irq.c
tps65912-spi.c
twl-core.c mfd: Define all twl-regulator feature flags in one place 2012-05-20 17:26:58 +02:00
twl-core.h mfd: Move twl-core IRQ allocation into twl[4030|6030]-irq files 2012-03-22 13:04:33 +01:00
twl4030-audio.c
twl4030-irq.c mfd: enable wakeup on twl4030 IRQ. 2012-05-09 18:02:51 +02:00
twl4030-madc.c
twl4030-power.c
twl6030-irq.c mfd: Replace twl-* pr_ macros by the dev_ equivalent and do various cleanups 2012-03-22 13:05:34 +01:00
twl6030-pwm.c
twl6040-core.c mfd: Add regulator support for twl6040 VIO, V2V1 supplies 2012-05-09 21:55:45 +02:00
twl6040-irq.c
ucb1x00-assabet.c
ucb1x00-core.c
ucb1x00-ts.c
ucb1400_core.c
vx855.c mfd: Use module_pci_driver 2012-05-01 12:00:21 +02:00
wl1273-core.c
wm831x-auxadc.c mfd: Convert wm831x to irq_domain 2012-05-20 17:27:07 +02:00
wm831x-core.c mfd: Convert wm831x to irq_domain 2012-05-20 17:27:07 +02:00
wm831x-i2c.c
wm831x-irq.c mfd: Convert wm831x to irq_domain 2012-05-20 17:27:07 +02:00
wm831x-otp.c
wm831x-spi.c MFD changes for 3.4 2012-03-28 13:56:35 -07:00
wm8350-core.c mfd: Convert wm8350 physical I/O to regmap API 2012-05-07 11:32:08 +02:00
wm8350-gpio.c
wm8350-i2c.c mfd: Convert wm8350 physical I/O to regmap API 2012-05-07 11:32:08 +02:00
wm8350-irq.c
wm8350-regmap.c
wm8400-core.c mfd: Export wm8400_block_read() 2012-05-20 17:27:05 +02:00
wm8994-core.c mfd: Convert wm8994 to module_i2c_driver() 2012-05-07 11:32:09 +02:00
wm8994-irq.c
wm8994-regmap.c mfd: Cache wm8994 chip revision 2012-05-01 12:00:21 +02:00
wm8994.h