All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/15] Add various missing GENERIC_HARDIRQS dependencies
@ 2013-02-06 16:23 Heiko Carstens
  2013-02-06 16:23 ` [PATCH 01/15] drivers/input: add couple of " Heiko Carstens
                   ` (14 more replies)
  0 siblings, 15 replies; 34+ messages in thread
From: Heiko Carstens @ 2013-02-06 16:23 UTC (permalink / raw)
  To: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jkosina, jslaby, khali, mchehab, perex, sameo, tiwai, w.sang
  Cc: linux-kernel, sebott, gerald.schaefer, schwidefsky, Heiko Carstens

Hi all,

this patch set just adds various missing GENERIC_HARDIRQS to a couple of
Kconfig files in order to make an s390 allmodconfig/alldefconfig compile
again.
This is necessary since during the last merge window s390 got CONFIG_PCI
and with that also CONFIG_HAS_DMA and CONFIG_HAS_IOMEM. These new config
options enable lots and lots of new drivers for s390, which however does
not support GENERIC_HARDIRQS.
Therefore a couple of drivers do not compile. To fix this, just add the
missing dependency (instead of sprinkling a !S390 dependency across the
whole tree).

The patches below are all against linux-next as of today.

If the you as the maintainers would take the patches that would be great.
Or please let me know if any patch should go in via the s390 tree.

Thanks!

Heiko Carstens (15):
  drivers/input: add couple of missing GENERIC_HARDIRQS dependencies
  drivers/i2c: remove !S390 dependency, add missing GENERIC_HARDIRQS dependencies
  drivers/mfd: add missing GENERIC_HARDIRQS dependecies
  drivers/block/mtip32xx: add missing GENERIC_HARDIRQS dependency
  drivers/dma/dw_dmac: add missing GENERIC_HARDIRQS dependency
  drivers/gpio: add missing GENERIC_HARDIRQ dependency
  drivers/hid: add missing GENERIC_HARDIRQ dependency
  drivers/misc/cb710: add missing GENERIC_HARDIRQS dependency
  drivers/media: add missing GENERIC_HARDIRQS dependencies
  drivers/net,AT91RM9200: add missing GENERIC_HARDIRQS dependency
  drivers/spi: add missing GENERIC_HARDIRQS dependencies
  sound: add missing HAS_IOPORT and GENERIC_HARDIRQS dependencies
  drivers/usb: add missing GENERIC_HARDIRQS dependencies
  drivers/power,goldfisch battery: add missing GENERIC_HARDIRQS dependency
  drivers/serial: add GENERIC_HARDIRQS dependency

 drivers/block/mtip32xx/Kconfig       |    2 +-
 drivers/dma/Kconfig                  |    1 +
 drivers/gpio/Kconfig                 |    4 +-
 drivers/hid/Kconfig                  |    2 +-
 drivers/i2c/Kconfig                  |    2 +-
 drivers/i2c/busses/Kconfig           |    6 ++-
 drivers/input/Kconfig                |    2 +-
 drivers/input/keyboard/Kconfig       |    4 +-
 drivers/input/serio/Kconfig          |    1 +
 drivers/input/touchscreen/Kconfig    |    2 +-
 drivers/media/platform/Kconfig       |    2 +-
 drivers/media/radio/Kconfig          |    2 +-
 drivers/mfd/Kconfig                  |   72 ++++++++++++++++++----------------
 drivers/misc/cb710/Kconfig           |    2 +-
 drivers/mmc/host/Kconfig             |    2 +-
 drivers/net/ethernet/cadence/Kconfig |    1 +
 drivers/power/Kconfig                |    1 +
 drivers/spi/Kconfig                  |    3 +-
 drivers/tty/serial/Kconfig           |    2 +-
 drivers/usb/dwc3/Kconfig             |    2 +-
 drivers/usb/gadget/Kconfig           |    3 +-
 drivers/usb/host/Kconfig             |    2 +-
 drivers/usb/musb/Kconfig             |    1 +
 drivers/usb/renesas_usbhs/Kconfig    |    2 +-
 sound/pci/Kconfig                    |    1 +
 sound/soc/codecs/Kconfig             |    2 +-
 26 files changed, 70 insertions(+), 56 deletions(-)

-- 
1.7.10.4


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [PATCH 01/15] drivers/input: add couple of missing GENERIC_HARDIRQS dependencies
  2013-02-06 16:23 [PATCH 00/15] Add various missing GENERIC_HARDIRQS dependencies Heiko Carstens
@ 2013-02-06 16:23 ` Heiko Carstens
  2013-02-14  4:22   ` Dmitry Torokhov
  2013-02-06 16:23 ` [PATCH 02/15] drivers/i2c: remove !S390 dependency, add " Heiko Carstens
                   ` (13 subsequent siblings)
  14 siblings, 1 reply; 34+ messages in thread
From: Heiko Carstens @ 2013-02-06 16:23 UTC (permalink / raw)
  To: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jkosina, jslaby, khali, mchehab, perex, sameo, tiwai, w.sang
  Cc: linux-kernel, sebott, gerald.schaefer, schwidefsky, Heiko Carstens

When removing the !S390 dependency from drivers/input/Kconfig a couple
of drivers don't compile because they have a dependency on GENERIC_HARDIRQS.
So add the missing dependencies.
Fixes e.g. this one:

drivers/input/keyboard/lm8323.c: In function ‘lm8323_suspend’:
drivers/input/keyboard/lm8323.c:801:2: error: implicit declaration of function ‘irq_set_irq_wake’
	[-Werror=implicit-function-declaration]

Cc: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---
 drivers/input/Kconfig             |    2 +-
 drivers/input/keyboard/Kconfig    |    4 ++--
 drivers/input/serio/Kconfig       |    1 +
 drivers/input/touchscreen/Kconfig |    2 +-
 4 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/input/Kconfig b/drivers/input/Kconfig
index 55f7e57..38b523a 100644
--- a/drivers/input/Kconfig
+++ b/drivers/input/Kconfig
@@ -3,7 +3,7 @@
 #
 
 menu "Input device support"
-	depends on !S390 && !UML
+	depends on !UML
 
 config INPUT
 	tristate "Generic input layer (needed for keyboard, mouse, ...)" if EXPERT
diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig
index 502ed23..6a65da2 100644
--- a/drivers/input/keyboard/Kconfig
+++ b/drivers/input/keyboard/Kconfig
@@ -226,7 +226,7 @@ config KEYBOARD_TCA6416
 
 config KEYBOARD_TCA8418
 	tristate "TCA8418 Keypad Support"
-	depends on I2C
+	depends on I2C && GENERIC_HARDIRQS
 	select INPUT_MATRIXKMAP
 	help
 	  This driver implements basic keypad functionality
@@ -305,7 +305,7 @@ config KEYBOARD_HP7XX
 
 config KEYBOARD_LM8323
 	tristate "LM8323 keypad chip"
-	depends on I2C
+	depends on I2C && GENERIC_HARDIRQS
 	depends on LEDS_CLASS
 	help
 	  If you say yes here you get support for the National Semiconductor
diff --git a/drivers/input/serio/Kconfig b/drivers/input/serio/Kconfig
index 81ee755..d2138bf 100644
--- a/drivers/input/serio/Kconfig
+++ b/drivers/input/serio/Kconfig
@@ -237,6 +237,7 @@ config SERIO_PS2MULT
 
 config SERIO_ARC_PS2
 	tristate "ARC PS/2 support"
+	depends on GENERIC_HARDIRQS
 	help
 	  Say Y here if you have an ARC FPGA platform with a PS/2
 	  controller in it.
diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
index 3d6f548..59877b7 100644
--- a/drivers/input/touchscreen/Kconfig
+++ b/drivers/input/touchscreen/Kconfig
@@ -368,7 +368,7 @@ config TOUCHSCREEN_MCS5000
 
 config TOUCHSCREEN_MMS114
 	tristate "MELFAS MMS114 touchscreen"
-	depends on I2C
+	depends on I2C && GENERIC_HARDIRQS
 	help
 	  Say Y here if you have the MELFAS MMS114 touchscreen controller
 	  chip in your system.
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH 02/15] drivers/i2c: remove !S390 dependency, add missing GENERIC_HARDIRQS dependencies
  2013-02-06 16:23 [PATCH 00/15] Add various missing GENERIC_HARDIRQS dependencies Heiko Carstens
  2013-02-06 16:23 ` [PATCH 01/15] drivers/input: add couple of " Heiko Carstens
@ 2013-02-06 16:23 ` Heiko Carstens
  2013-02-06 16:23 ` [PATCH 03/15] drivers/mfd: add missing GENERIC_HARDIRQS dependecies Heiko Carstens
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 34+ messages in thread
From: Heiko Carstens @ 2013-02-06 16:23 UTC (permalink / raw)
  To: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jkosina, jslaby, khali, mchehab, perex, sameo, tiwai, w.sang
  Cc: linux-kernel, sebott, gerald.schaefer, schwidefsky, Heiko Carstens

Remove !S390 dependency from i2c Kconfig, since s390 now supports PCI, HAS_IOMEM
and HAS_DMA, however we need to add a couple of GENERIC_HARDIRQS dependecies to
fix compile and link errors like these:

ERROR: "devm_request_threaded_irq" [drivers/i2c/i2c-smbus.ko] undefined!
ERROR: "devm_request_threaded_irq" [drivers/i2c/busses/i2c-ocores.ko] undefined!

Cc: Wolfram Sang <w.sang@pengutronix.de>
Cc: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---
 drivers/i2c/Kconfig        |    2 +-
 drivers/i2c/busses/Kconfig |    6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig
index 46cde09..e380c6e 100644
--- a/drivers/i2c/Kconfig
+++ b/drivers/i2c/Kconfig
@@ -4,7 +4,6 @@
 
 menuconfig I2C
 	tristate "I2C support"
-	depends on !S390
 	select RT_MUTEXES
 	---help---
 	  I2C (pronounce: I-squared-C) is a slow serial bus protocol used in
@@ -76,6 +75,7 @@ config I2C_HELPER_AUTO
 
 config I2C_SMBUS
 	tristate "SMBus-specific protocols" if !I2C_HELPER_AUTO
+	depends on GENERIC_HARDIRQS
 	help
 	  Say Y here if you want support for SMBus extensions to the I2C
 	  specification. At the moment, the only supported extension is
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
index 8bb810e..fd30505 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -112,7 +112,7 @@ config I2C_I801
 
 config I2C_ISCH
 	tristate "Intel SCH SMBus 1.0"
-	depends on PCI
+	depends on PCI && GENERIC_HARDIRQS
 	select LPC_SCH
 	help
 	  Say Y here if you want to use SMBus controller on the Intel SCH
@@ -519,6 +519,7 @@ config I2C_NUC900
 
 config I2C_OCORES
 	tristate "OpenCores I2C Controller"
+	depends on GENERIC_HARDIRQS
 	help
 	  If you say yes to this option, support will be included for the
 	  OpenCores I2C controller. For details see
@@ -753,7 +754,7 @@ config I2C_DIOLAN_U2C
 
 config I2C_PARPORT
 	tristate "Parallel port adapter"
-	depends on PARPORT
+	depends on PARPORT && GENERIC_HARDIRQS
 	select I2C_ALGOBIT
 	select I2C_SMBUS
 	help
@@ -778,6 +779,7 @@ config I2C_PARPORT
 
 config I2C_PARPORT_LIGHT
 	tristate "Parallel port adapter (light)"
+	depends on GENERIC_HARDIRQS
 	select I2C_ALGOBIT
 	select I2C_SMBUS
 	help
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH 03/15] drivers/mfd: add missing GENERIC_HARDIRQS dependecies
  2013-02-06 16:23 [PATCH 00/15] Add various missing GENERIC_HARDIRQS dependencies Heiko Carstens
  2013-02-06 16:23 ` [PATCH 01/15] drivers/input: add couple of " Heiko Carstens
  2013-02-06 16:23 ` [PATCH 02/15] drivers/i2c: remove !S390 dependency, add " Heiko Carstens
@ 2013-02-06 16:23 ` Heiko Carstens
  2013-02-07  7:39   ` Samuel Ortiz
  2013-02-06 16:23 ` [PATCH 04/15] drivers/block/mtip32xx: add missing GENERIC_HARDIRQS dependency Heiko Carstens
                   ` (11 subsequent siblings)
  14 siblings, 1 reply; 34+ messages in thread
From: Heiko Carstens @ 2013-02-06 16:23 UTC (permalink / raw)
  To: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jkosina, jslaby, khali, mchehab, perex, sameo, tiwai, w.sang
  Cc: linux-kernel, sebott, gerald.schaefer, schwidefsky, Heiko Carstens

A lot of mfd drivers select MFD_CORE which however depends on
GENERIC_HARDIRQS support.
So add the missing dependency to all drivers to get rid of
this link error:

ERROR: "irq_create_mapping" [drivers/mfd/mfd-core.ko] undefined!

Cc: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---
 drivers/mfd/Kconfig |   72 +++++++++++++++++++++++++++------------------------
 1 file changed, 38 insertions(+), 34 deletions(-)

diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index ff553ba..671f5b1 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -65,7 +65,7 @@ config MFD_SM501_GPIO
 
 config MFD_RTSX_PCI
 	tristate "Support for Realtek PCI-E card reader"
-	depends on PCI
+	depends on PCI && GENERIC_HARDIRQS
 	select MFD_CORE
 	help
 	  This supports for Realtek PCI-Express card reader including rts5209,
@@ -95,7 +95,7 @@ config MFD_DM355EVM_MSP
 
 config MFD_TI_SSP
 	tristate "TI Sequencer Serial Port support"
-	depends on ARCH_DAVINCI_TNETV107X
+	depends on ARCH_DAVINCI_TNETV107X && GENERIC_HARDIRQS
 	select MFD_CORE
 	---help---
 	  Say Y here if you want support for the Sequencer Serial Port
@@ -109,6 +109,7 @@ config MFD_TI_AM335X_TSCADC
 	select MFD_CORE
 	select REGMAP
 	select REGMAP_MMIO
+	depends on GENERIC_HARDIRQS
 	help
 	  If you say yes here you get support for Texas Instruments series
 	  of Touch Screen /ADC chips.
@@ -126,6 +127,7 @@ config HTC_EGPIO
 config HTC_PASIC3
 	tristate "HTC PASIC3 LED/DS1WM chip support"
 	select MFD_CORE
+	depends on GENERIC_HARDIRQS
 	help
 	  This core driver provides register access for the LED/DS1WM
 	  chips labeled "AIC2" and "AIC3", found on HTC Blueangel and
@@ -157,6 +159,7 @@ config MFD_LM3533
 	depends on I2C
 	select MFD_CORE
 	select REGMAP_I2C
+	depends on GENERIC_HARDIRQS
 	help
 	  Say yes here to enable support for National Semiconductor / TI
 	  LM3533 Lighting Power chips.
@@ -171,6 +174,7 @@ config TPS6105X
 	select REGULATOR
 	select MFD_CORE
 	select REGULATOR_FIXED_VOLTAGE
+	depends on GENERIC_HARDIRQS
 	help
 	  This option enables a driver for the TP61050/TPS61052
 	  high-power "white LED driver". This boost converter is
@@ -193,7 +197,7 @@ config TPS65010
 config TPS6507X
 	tristate "TPS6507x Power Management / Touch Screen chips"
 	select MFD_CORE
-	depends on I2C
+	depends on I2C && GENERIC_HARDIRQS
 	help
 	  If you say yes here you get support for the TPS6507x series of
 	  Power Management / Touch Screen chips.  These include voltage
@@ -204,7 +208,7 @@ config TPS6507X
 
 config MFD_TPS65217
 	tristate "TPS65217 Power Management / White LED chips"
-	depends on I2C
+	depends on I2C && GENERIC_HARDIRQS
 	select MFD_CORE
 	select REGMAP_I2C
 	help
@@ -234,7 +238,7 @@ config MFD_TPS6586X
 
 config MFD_TPS65910
 	bool "TPS65910 Power Management chip"
-	depends on I2C=y && GPIOLIB
+	depends on I2C=y && GPIOLIB && GENERIC_HARDIRQS
 	select MFD_CORE
 	select REGMAP_I2C
 	select REGMAP_IRQ
@@ -251,7 +255,7 @@ config MFD_TPS65912_I2C
 	bool "TPS65912 Power Management chip with I2C"
 	select MFD_CORE
 	select MFD_TPS65912
-	depends on I2C=y && GPIOLIB
+	depends on I2C=y && GPIOLIB && GENERIC_HARDIRQS
 	help
 	  If you say yes here you get support for the TPS65912 series of
 	  PM chips with I2C interface.
@@ -260,7 +264,7 @@ config MFD_TPS65912_SPI
 	bool "TPS65912 Power Management chip with SPI"
 	select MFD_CORE
 	select MFD_TPS65912
-	depends on SPI_MASTER && GPIOLIB
+	depends on SPI_MASTER && GPIOLIB && GENERIC_HARDIRQS
 	help
 	  If you say yes here you get support for the TPS65912 series of
 	  PM chips with SPI interface.
@@ -330,13 +334,13 @@ config TWL4030_POWER
 
 config MFD_TWL4030_AUDIO
 	bool
-	depends on TWL4030_CORE
+	depends on TWL4030_CORE && GENERIC_HARDIRQS
 	select MFD_CORE
 	default n
 
 config TWL6040_CORE
 	bool "Support for TWL6040 audio codec"
-	depends on I2C=y
+	depends on I2C=y && GENERIC_HARDIRQS
 	select MFD_CORE
 	select REGMAP_I2C
 	select REGMAP_IRQ
@@ -405,7 +409,7 @@ config MFD_TMIO
 
 config MFD_T7L66XB
 	bool "Support Toshiba T7L66XB"
-	depends on ARM && HAVE_CLK
+	depends on ARM && HAVE_CLK && GENERIC_HARDIRQS
 	select MFD_CORE
 	select MFD_TMIO
 	help
@@ -413,7 +417,7 @@ config MFD_T7L66XB
 
 config MFD_SMSC
        bool "Support for the SMSC ECE1099 series chips"
-       depends on I2C=y
+       depends on I2C=y && GENERIC_HARDIRQS
        select MFD_CORE
        select REGMAP_I2C
        help
@@ -460,7 +464,7 @@ config MFD_DA9052_SPI
 	select REGMAP_SPI
 	select REGMAP_IRQ
 	select PMIC_DA9052
-	depends on SPI_MASTER=y
+	depends on SPI_MASTER=y && GENERIC_HARDIRQS
 	help
 	  Support for the Dialog Semiconductor DA9052 PMIC
 	  when controlled using SPI. This driver provides common support
@@ -472,7 +476,7 @@ config MFD_DA9052_I2C
 	select REGMAP_I2C
 	select REGMAP_IRQ
 	select PMIC_DA9052
-	depends on I2C=y
+	depends on I2C=y && GENERIC_HARDIRQS
 	help
 	  Support for the Dialog Semiconductor DA9052 PMIC
 	  when controlled using I2C. This driver provides common support
@@ -485,7 +489,7 @@ config MFD_DA9055
 	select REGMAP_IRQ
 	select PMIC_DA9055
 	select MFD_CORE
-	depends on I2C=y
+	depends on I2C=y && GENERIC_HARDIRQS
 	help
 	  Say yes here for support of Dialog Semiconductor DA9055. This is
 	  a Power Management IC. This driver provides common support for
@@ -508,7 +512,7 @@ config PMIC_ADP5520
 
 config MFD_LP8788
 	bool "Texas Instruments LP8788 Power Management Unit Driver"
-	depends on I2C=y
+	depends on I2C=y && GENERIC_HARDIRQS
 	select MFD_CORE
 	select REGMAP_I2C
 	select IRQ_DOMAIN
@@ -611,7 +615,7 @@ config MFD_ARIZONA_I2C
 	select MFD_ARIZONA
 	select MFD_CORE
 	select REGMAP_I2C
-	depends on I2C
+	depends on I2C && GENERIC_HARDIRQS
 	help
 	  Support for the Wolfson Microelectronics Arizona platform audio SoC
 	  core functionality controlled via I2C.
@@ -621,7 +625,7 @@ config MFD_ARIZONA_SPI
 	select MFD_ARIZONA
 	select MFD_CORE
 	select REGMAP_SPI
-	depends on SPI_MASTER
+	depends on SPI_MASTER && GENERIC_HARDIRQS
 	help
 	  Support for the Wolfson Microelectronics Arizona platform audio SoC
 	  core functionality controlled via I2C.
@@ -641,7 +645,7 @@ config MFD_WM5110
 config MFD_WM8400
 	bool "Support Wolfson Microelectronics WM8400"
 	select MFD_CORE
-	depends on I2C=y
+	depends on I2C=y && GENERIC_HARDIRQS
 	select REGMAP_I2C
 	help
 	  Support for the Wolfson Microelecronics WM8400 PMIC and audio
@@ -785,7 +789,7 @@ config MFD_MC13783
 
 config MFD_MC13XXX
 	tristate
-	depends on SPI_MASTER || I2C
+	depends on (SPI_MASTER || I2C) && GENERIC_HARDIRQS
 	select MFD_CORE
 	select MFD_MC13783
 	help
@@ -796,7 +800,7 @@ config MFD_MC13XXX
 
 config MFD_MC13XXX_SPI
 	tristate "Freescale MC13783 and MC13892 SPI interface"
-	depends on SPI_MASTER
+	depends on SPI_MASTER && GENERIC_HARDIRQS
 	select REGMAP_SPI
 	select MFD_MC13XXX
 	help
@@ -804,7 +808,7 @@ config MFD_MC13XXX_SPI
 
 config MFD_MC13XXX_I2C
 	tristate "Freescale MC13892 I2C interface"
-	depends on I2C
+	depends on I2C && GENERIC_HARDIRQS
 	select REGMAP_I2C
 	select MFD_MC13XXX
 	help
@@ -822,7 +826,7 @@ config ABX500_CORE
 
 config AB3100_CORE
 	bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
-	depends on I2C=y && ABX500_CORE
+	depends on I2C=y && ABX500_CORE && GENERIC_HARDIRQS
 	select MFD_CORE
 	default y if ARCH_U300
 	help
@@ -909,7 +913,7 @@ config MFD_TIMBERDALE
 
 config LPC_SCH
 	tristate "Intel SCH LPC"
-	depends on PCI
+	depends on PCI && GENERIC_HARDIRQS
 	select MFD_CORE
 	help
 	  LPC bridge function of the Intel SCH provides support for
@@ -917,7 +921,7 @@ config LPC_SCH
 
 config LPC_ICH
 	tristate "Intel ICH LPC"
-	depends on PCI
+	depends on PCI && GENERIC_HARDIRQS
 	select MFD_CORE
 	help
 	  The LPC bridge function of the Intel ICH provides support for
@@ -928,7 +932,7 @@ config LPC_ICH
 config MFD_RDC321X
 	tristate "Support for RDC-R321x southbridge"
 	select MFD_CORE
-	depends on PCI
+	depends on PCI && GENERIC_HARDIRQS
 	help
 	  Say yes here if you want to have support for the RDC R-321x SoC
 	  southbridge which provides access to GPIOs and Watchdog using the
@@ -937,7 +941,7 @@ config MFD_RDC321X
 config MFD_JANZ_CMODIO
 	tristate "Support for Janz CMOD-IO PCI MODULbus Carrier Board"
 	select MFD_CORE
-	depends on PCI
+	depends on PCI && GENERIC_HARDIRQS
 	help
 	  This is the core driver for the Janz CMOD-IO PCI MODULbus
 	  carrier board. This device is a PCI to MODULbus bridge which may
@@ -955,7 +959,7 @@ config MFD_JZ4740_ADC
 
 config MFD_VX855
 	tristate "Support for VIA VX855/VX875 integrated south bridge"
-	depends on PCI
+	depends on PCI && GENERIC_HARDIRQS
 	select MFD_CORE
 	help
 	  Say yes here to enable support for various functions of the
@@ -964,7 +968,7 @@ config MFD_VX855
 
 config MFD_WL1273_CORE
 	tristate "Support for TI WL1273 FM radio."
-	depends on I2C
+	depends on I2C && GENERIC_HARDIRQS
 	select MFD_CORE
 	default n
 	help
@@ -1028,7 +1032,7 @@ config MFD_TPS65090
 config MFD_AAT2870_CORE
 	bool "Support for the AnalogicTech AAT2870"
 	select MFD_CORE
-	depends on I2C=y && GPIOLIB
+	depends on I2C=y && GPIOLIB && GENERIC_HARDIRQS
 	help
 	  If you say yes here you get support for the AAT2870.
 	  This driver provides common support for accessing the device,
@@ -1060,7 +1064,7 @@ config MFD_RC5T583
 
 config MFD_STA2X11
 	bool "STA2X11 multi function device support"
-	depends on STA2X11
+	depends on STA2X11 && GENERIC_HARDIRQS
 	select MFD_CORE
 	select REGMAP_MMIO
 
@@ -1077,7 +1081,7 @@ config MFD_PALMAS
 	select MFD_CORE
 	select REGMAP_I2C
 	select REGMAP_IRQ
-	depends on I2C=y
+	depends on I2C=y && GENERIC_HARDIRQS
 	help
 	  If you say yes here you get support for the Palmas
 	  series of PMIC chips from Texas Instruments.
@@ -1085,7 +1089,7 @@ config MFD_PALMAS
 config MFD_VIPERBOARD
         tristate "Support for Nano River Technologies Viperboard"
 	select MFD_CORE
-	depends on USB
+	depends on USB && GENERIC_HARDIRQS
 	default n
 	help
 	  Say yes here if you want support for Nano River Technologies
@@ -1099,7 +1103,7 @@ config MFD_VIPERBOARD
 config MFD_RETU
 	tristate "Support for Retu multi-function device"
 	select MFD_CORE
-	depends on I2C
+	depends on I2C && GENERIC_HARDIRQS
 	select REGMAP_IRQ
 	help
 	  Retu is a multi-function device found on Nokia Internet Tablets
@@ -1110,7 +1114,7 @@ config MFD_AS3711
 	select MFD_CORE
 	select REGMAP_I2C
 	select REGMAP_IRQ
-	depends on I2C=y
+	depends on I2C=y && GENERIC_HARDIRQS
 	help
 	  Support for the AS3711 PMIC from AMS
 
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH 04/15] drivers/block/mtip32xx: add missing GENERIC_HARDIRQS dependency
  2013-02-06 16:23 [PATCH 00/15] Add various missing GENERIC_HARDIRQS dependencies Heiko Carstens
                   ` (2 preceding siblings ...)
  2013-02-06 16:23 ` [PATCH 03/15] drivers/mfd: add missing GENERIC_HARDIRQS dependecies Heiko Carstens
@ 2013-02-06 16:23 ` Heiko Carstens
  2013-02-07  6:35   ` Jens Axboe
  2013-02-06 16:23 ` [PATCH 05/15] drivers/dma/dw_dmac: " Heiko Carstens
                   ` (10 subsequent siblings)
  14 siblings, 1 reply; 34+ messages in thread
From: Heiko Carstens @ 2013-02-06 16:23 UTC (permalink / raw)
  To: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jkosina, jslaby, khali, mchehab, perex, sameo, tiwai, w.sang
  Cc: linux-kernel, sebott, gerald.schaefer, schwidefsky, Heiko Carstens

The MTIP32XX driver calls devm_request_irq() and therefore needs a
GENERIC_HARDIRQS dependency to prevent building it on s390.

Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---
 drivers/block/mtip32xx/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/block/mtip32xx/Kconfig b/drivers/block/mtip32xx/Kconfig
index 0ba837f..1fca1f99 100644
--- a/drivers/block/mtip32xx/Kconfig
+++ b/drivers/block/mtip32xx/Kconfig
@@ -4,6 +4,6 @@
 
 config BLK_DEV_PCIESSD_MTIP32XX
 	tristate "Block Device Driver for Micron PCIe SSDs"
-	depends on PCI
+	depends on PCI && GENERIC_HARDIRQS
 	help
           This enables the block driver for Micron PCIe SSDs.
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH 05/15] drivers/dma/dw_dmac: add missing GENERIC_HARDIRQS dependency
  2013-02-06 16:23 [PATCH 00/15] Add various missing GENERIC_HARDIRQS dependencies Heiko Carstens
                   ` (3 preceding siblings ...)
  2013-02-06 16:23 ` [PATCH 04/15] drivers/block/mtip32xx: add missing GENERIC_HARDIRQS dependency Heiko Carstens
@ 2013-02-06 16:23 ` Heiko Carstens
  2013-02-06 16:23 ` [PATCH 06/15] drivers/gpio: add missing GENERIC_HARDIRQ dependency Heiko Carstens
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 34+ messages in thread
From: Heiko Carstens @ 2013-02-06 16:23 UTC (permalink / raw)
  To: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jkosina, jslaby, khali, mchehab, perex, sameo, tiwai, w.sang
  Cc: linux-kernel, sebott, gerald.schaefer, schwidefsky,
	Heiko Carstens, Vinod Koul

Synopsys DesignWare AHB DMA drivers calls devm_request_irq() and
therefore depends on GENERIC_HARDIRQS.
Add the missing dependency.

Cc: Vinod Koul <vinod.koul@linux.intel.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---
 drivers/dma/Kconfig |    1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
index 3600234..26d3127 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -83,6 +83,7 @@ config INTEL_IOP_ADMA
 
 config DW_DMAC
 	tristate "Synopsys DesignWare AHB DMA support"
+	depends on GENERIC_HARDIRQS
 	select DMA_ENGINE
 	default y if CPU_AT32AP7000
 	help
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH 06/15] drivers/gpio: add missing GENERIC_HARDIRQ dependency
  2013-02-06 16:23 [PATCH 00/15] Add various missing GENERIC_HARDIRQS dependencies Heiko Carstens
                   ` (4 preceding siblings ...)
  2013-02-06 16:23 ` [PATCH 05/15] drivers/dma/dw_dmac: " Heiko Carstens
@ 2013-02-06 16:23 ` Heiko Carstens
  2013-02-06 16:23 ` [PATCH 07/15] drivers/hid: " Heiko Carstens
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 34+ messages in thread
From: Heiko Carstens @ 2013-02-06 16:23 UTC (permalink / raw)
  To: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jkosina, jslaby, khali, mchehab, perex, sameo, tiwai, w.sang
  Cc: linux-kernel, sebott, gerald.schaefer, schwidefsky, Heiko Carstens

The VIA VX855/VX875 GPIO and RDC R-321x GPIO support drivers select
MFD_CORE which itself depends on GENERIC_HARDIRQ support.
So add this dependency to these two drivers as well to prevent
selection of MFD_CORE.

Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---
 drivers/gpio/Kconfig |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 8eafc4b..93aaadf 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -280,7 +280,7 @@ config GPIO_ICH
 
 config GPIO_VX855
 	tristate "VIA VX855/VX875 GPIO"
-	depends on PCI
+	depends on PCI && GENERIC_HARDIRQS
 	select MFD_CORE
 	select MFD_VX855
 	help
@@ -610,7 +610,7 @@ config GPIO_TIMBERDALE
 
 config GPIO_RDC321X
 	tristate "RDC R-321x GPIO support"
-	depends on PCI
+	depends on PCI && GENERIC_HARDIRQS
 	select MFD_CORE
 	select MFD_RDC321X
 	help
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH 07/15] drivers/hid: add missing GENERIC_HARDIRQ dependency
  2013-02-06 16:23 [PATCH 00/15] Add various missing GENERIC_HARDIRQS dependencies Heiko Carstens
                   ` (5 preceding siblings ...)
  2013-02-06 16:23 ` [PATCH 06/15] drivers/gpio: add missing GENERIC_HARDIRQ dependency Heiko Carstens
@ 2013-02-06 16:23 ` Heiko Carstens
  2013-02-07 10:37   ` Jiri Kosina
  2013-02-06 16:23 ` [PATCH 08/15] drivers/misc/cb710: add missing GENERIC_HARDIRQS dependency Heiko Carstens
                   ` (7 subsequent siblings)
  14 siblings, 1 reply; 34+ messages in thread
From: Heiko Carstens @ 2013-02-06 16:23 UTC (permalink / raw)
  To: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jkosina, jslaby, khali, mchehab, perex, sameo, tiwai, w.sang
  Cc: linux-kernel, sebott, gerald.schaefer, schwidefsky, Heiko Carstens

HID Sensors framework support (CONFIG_HID_SENSOR_HUB) unconditionally
selects MFD_CORE which however depends on GENERIC_HARDIRQS.
So add this dependency to HID_SENSOR_HUB as well.

Cc: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---
 drivers/hid/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig
index 61d2453..9613c81 100644
--- a/drivers/hid/Kconfig
+++ b/drivers/hid/Kconfig
@@ -725,7 +725,7 @@ config HID_ZYDACRON
 
 config HID_SENSOR_HUB
 	tristate "HID Sensors framework support"
-	depends on USB_HID
+	depends on USB_HID && GENERIC_HARDIRQS
 	select MFD_CORE
 	default n
 	-- help---
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH 08/15] drivers/misc/cb710: add missing GENERIC_HARDIRQS dependency
  2013-02-06 16:23 [PATCH 00/15] Add various missing GENERIC_HARDIRQS dependencies Heiko Carstens
                   ` (6 preceding siblings ...)
  2013-02-06 16:23 ` [PATCH 07/15] drivers/hid: " Heiko Carstens
@ 2013-02-06 16:23 ` Heiko Carstens
  2013-02-08 20:23   ` Greg KH
  2013-02-06 16:23 ` [PATCH 09/15] drivers/media: add missing GENERIC_HARDIRQS dependencies Heiko Carstens
                   ` (6 subsequent siblings)
  14 siblings, 1 reply; 34+ messages in thread
From: Heiko Carstens @ 2013-02-06 16:23 UTC (permalink / raw)
  To: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jkosina, jslaby, khali, mchehab, perex, sameo, tiwai, w.sang
  Cc: linux-kernel, sebott, gerald.schaefer, schwidefsky, Heiko Carstens

CB710_CORE (drivers/misc/cb710/core.c) calls devm_request_irq() and
therefore needs a GENERIC_HARDIRQS dependency to prevent a link
error on s390.

Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---
 drivers/misc/cb710/Kconfig |    2 +-
 drivers/mmc/host/Kconfig   |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/misc/cb710/Kconfig b/drivers/misc/cb710/Kconfig
index 22429b8..5acb9c5 100644
--- a/drivers/misc/cb710/Kconfig
+++ b/drivers/misc/cb710/Kconfig
@@ -1,6 +1,6 @@
 config CB710_CORE
 	tristate "ENE CB710/720 Flash memory card reader support"
-	depends on PCI
+	depends on PCI && GENERIC_HARDIRQS
 	help
 	  This option enables support for PCI ENE CB710/720 Flash memory card
 	  reader found in some laptops (ie. some versions of HP Compaq nx9500).
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
index aebe265..d88219e 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -475,7 +475,7 @@ config MMC_SDHI
 
 config MMC_CB710
 	tristate "ENE CB710 MMC/SD Interface support"
-	depends on PCI
+	depends on PCI && GENERIC_HARDIRQS
 	select CB710_CORE
 	help
 	  This option enables support for MMC/SD part of ENE CB710/720 Flash
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH 09/15] drivers/media: add missing GENERIC_HARDIRQS dependencies
  2013-02-06 16:23 [PATCH 00/15] Add various missing GENERIC_HARDIRQS dependencies Heiko Carstens
                   ` (7 preceding siblings ...)
  2013-02-06 16:23 ` [PATCH 08/15] drivers/misc/cb710: add missing GENERIC_HARDIRQS dependency Heiko Carstens
@ 2013-02-06 16:23 ` Heiko Carstens
  2013-02-07 14:01   ` Mauro Carvalho Chehab
  2013-02-06 16:23 ` [PATCH 10/15] drivers/net,AT91RM9200: add missing GENERIC_HARDIRQS dependency Heiko Carstens
                   ` (5 subsequent siblings)
  14 siblings, 1 reply; 34+ messages in thread
From: Heiko Carstens @ 2013-02-06 16:23 UTC (permalink / raw)
  To: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jkosina, jslaby, khali, mchehab, perex, sameo, tiwai, w.sang
  Cc: linux-kernel, sebott, gerald.schaefer, schwidefsky, Heiko Carstens

The SuperH VEU mem2mem video processing driver (VIDEO_SH_VEU)
calls devm_request_threaded_irq() and therefore should depend
on GENERIC_HARDIRQS.
Texas Instruments WL1273 I2C FM Radio (RADIO_WL1273) selects
MFD_CORE, which itself depends on GENERIC_HARDIRQS.
So add the dependency to the TI driver as well.

Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---
 drivers/media/platform/Kconfig |    2 +-
 drivers/media/radio/Kconfig    |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
index 05d7b63..a0639e7 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
@@ -204,7 +204,7 @@ config VIDEO_SAMSUNG_EXYNOS_GSC
 
 config VIDEO_SH_VEU
 	tristate "SuperH VEU mem2mem video processing driver"
-	depends on VIDEO_DEV && VIDEO_V4L2
+	depends on VIDEO_DEV && VIDEO_V4L2 && GENERIC_HARDIRQS
 	select VIDEOBUF2_DMA_CONTIG
 	select V4L2_MEM2MEM_DEV
 	help
diff --git a/drivers/media/radio/Kconfig b/drivers/media/radio/Kconfig
index ead9928..24e64a0 100644
--- a/drivers/media/radio/Kconfig
+++ b/drivers/media/radio/Kconfig
@@ -192,7 +192,7 @@ config RADIO_TIMBERDALE
 
 config RADIO_WL1273
 	tristate "Texas Instruments WL1273 I2C FM Radio"
-	depends on I2C && VIDEO_V4L2
+	depends on I2C && VIDEO_V4L2 && GENERIC_HARDIRQS
 	select MFD_CORE
 	select MFD_WL1273_CORE
 	select FW_LOADER
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH 10/15] drivers/net,AT91RM9200: add missing GENERIC_HARDIRQS dependency
  2013-02-06 16:23 [PATCH 00/15] Add various missing GENERIC_HARDIRQS dependencies Heiko Carstens
                   ` (8 preceding siblings ...)
  2013-02-06 16:23 ` [PATCH 09/15] drivers/media: add missing GENERIC_HARDIRQS dependencies Heiko Carstens
@ 2013-02-06 16:23 ` Heiko Carstens
  2013-02-06 21:12   ` David Miller
  2013-02-06 16:23 ` [PATCH 11/15] drivers/spi: add missing GENERIC_HARDIRQS dependencies Heiko Carstens
                   ` (4 subsequent siblings)
  14 siblings, 1 reply; 34+ messages in thread
From: Heiko Carstens @ 2013-02-06 16:23 UTC (permalink / raw)
  To: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jkosina, jslaby, khali, mchehab, perex, sameo, tiwai, w.sang
  Cc: linux-kernel, sebott, gerald.schaefer, schwidefsky, Heiko Carstens

The AT91RM9200 driver call devm_request_irq() and therefore should
depend on GENERIC_HARDIRQS to prevent link/compile errors on plaforms
without GENERIC_HARDIRQS.

Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---
 drivers/net/ethernet/cadence/Kconfig |    1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/cadence/Kconfig b/drivers/net/ethernet/cadence/Kconfig
index ceb0de0..1194446 100644
--- a/drivers/net/ethernet/cadence/Kconfig
+++ b/drivers/net/ethernet/cadence/Kconfig
@@ -22,6 +22,7 @@ if NET_CADENCE
 
 config ARM_AT91_ETHER
 	tristate "AT91RM9200 Ethernet support"
+	depends on GENERIC_HARDIRQS
 	select NET_CORE
 	select MACB
 	---help---
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH 11/15] drivers/spi: add missing GENERIC_HARDIRQS dependencies
  2013-02-06 16:23 [PATCH 00/15] Add various missing GENERIC_HARDIRQS dependencies Heiko Carstens
                   ` (9 preceding siblings ...)
  2013-02-06 16:23 ` [PATCH 10/15] drivers/net,AT91RM9200: add missing GENERIC_HARDIRQS dependency Heiko Carstens
@ 2013-02-06 16:23 ` Heiko Carstens
  2013-02-06 16:24 ` [PATCH 12/15] sound: add missing HAS_IOPORT and " Heiko Carstens
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 34+ messages in thread
From: Heiko Carstens @ 2013-02-06 16:23 UTC (permalink / raw)
  To: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jkosina, jslaby, khali, mchehab, perex, sameo, tiwai, w.sang
  Cc: linux-kernel, sebott, gerald.schaefer, schwidefsky, Heiko Carstens

The Altera SPI Controller driver and PXA2xx SSP SPI master driver
have calls to devm_request_irq() and request_irq() and therefore
should have a dependency to GENERIC_HARDIRQS.
Otherwise this causes link errors on platforms without
GENERIC_HARDIRQS support.

Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---
 drivers/spi/Kconfig |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index 5c8fda6..5b76212 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -55,6 +55,7 @@ comment "SPI Master Controller Drivers"
 
 config SPI_ALTERA
 	tristate "Altera SPI Controller"
+	depends on GENERIC_HARDIRQS
 	select SPI_BITBANG
 	help
 	  This is the driver for the Altera SPI Controller.
@@ -299,7 +300,7 @@ config SPI_PPC4xx
 
 config SPI_PXA2XX
 	tristate "PXA2xx SSP SPI master"
-	depends on ARCH_PXA || PCI
+	depends on (ARCH_PXA || PCI) && GENERIC_HARDIRQS
 	select PXA_SSP if ARCH_PXA
 	help
 	  This enables using a PXA2xx or Sodaville SSP port as a SPI master
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH 12/15] sound: add missing HAS_IOPORT and GENERIC_HARDIRQS dependencies
  2013-02-06 16:23 [PATCH 00/15] Add various missing GENERIC_HARDIRQS dependencies Heiko Carstens
                   ` (10 preceding siblings ...)
  2013-02-06 16:23 ` [PATCH 11/15] drivers/spi: add missing GENERIC_HARDIRQS dependencies Heiko Carstens
@ 2013-02-06 16:24 ` Heiko Carstens
  2013-02-06 17:05   ` Takashi Iwai
  2013-02-06 16:24 ` [PATCH 13/15] drivers/usb: add missing " Heiko Carstens
                   ` (2 subsequent siblings)
  14 siblings, 1 reply; 34+ messages in thread
From: Heiko Carstens @ 2013-02-06 16:24 UTC (permalink / raw)
  To: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jkosina, jslaby, khali, mchehab, perex, sameo, tiwai, w.sang
  Cc: linux-kernel, sebott, gerald.schaefer, schwidefsky, Heiko Carstens

Fix these two compile errors on s390 which does not have HAS_IOPORT
nor GENERIC_HARDIRQS:

sound/pci/lx6464es/lx6464es.c: In function ‘snd_lx6464es_free’:
sound/pci/lx6464es/lx6464es.c:565:2: error: implicit declaration of function ‘ioport_unmap’

sound/soc/codecs/wm8903.c: In function ‘wm8903_set_pdata_irq_trigger’:
sound/soc/codecs/wm8903.c:1954:9: error: implicit declaration of function ‘irq_get_irq_data’

Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---
 sound/pci/Kconfig        |    1 +
 sound/soc/codecs/Kconfig |    2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
index 947cfb4..fe6fa93 100644
--- a/sound/pci/Kconfig
+++ b/sound/pci/Kconfig
@@ -678,6 +678,7 @@ config SND_LOLA
 
 config SND_LX6464ES
 	tristate "Digigram LX6464ES"
+	depends on HAS_IOPORT
 	select SND_PCM
 	help
 	  Say Y here to include support for Digigram LX6464ES boards.
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
index 298822c..65e3c6a 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -98,7 +98,7 @@ config SND_SOC_ALL_CODECS
 	select SND_SOC_WM8782
 	select SND_SOC_WM8804 if SND_SOC_I2C_AND_SPI
 	select SND_SOC_WM8900 if I2C
-	select SND_SOC_WM8903 if I2C
+	select SND_SOC_WM8903 if I2C && GENERIC_HARDIRQS
 	select SND_SOC_WM8904 if I2C
 	select SND_SOC_WM8940 if I2C
 	select SND_SOC_WM8955 if I2C
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH 13/15] drivers/usb: add missing GENERIC_HARDIRQS dependencies
  2013-02-06 16:23 [PATCH 00/15] Add various missing GENERIC_HARDIRQS dependencies Heiko Carstens
                   ` (11 preceding siblings ...)
  2013-02-06 16:24 ` [PATCH 12/15] sound: add missing HAS_IOPORT and " Heiko Carstens
@ 2013-02-06 16:24 ` Heiko Carstens
  2013-02-06 16:24 ` [PATCH 14/15] drivers/power,goldfisch battery: add missing GENERIC_HARDIRQS dependency Heiko Carstens
  2013-02-06 16:24 ` [PATCH 15/15] drivers/serial: add " Heiko Carstens
  14 siblings, 0 replies; 34+ messages in thread
From: Heiko Carstens @ 2013-02-06 16:24 UTC (permalink / raw)
  To: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jkosina, jslaby, khali, mchehab, perex, sameo, tiwai, w.sang
  Cc: linux-kernel, sebott, gerald.schaefer, schwidefsky, Heiko Carstens

Add a couple of missing GENERIC_HARDIRQS dependencies to fix link
errors like below on s390:

ERROR: "devm_request_threaded_irq" [drivers/usb/gadget/mv_udc.ko] undefined!

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---
 drivers/usb/dwc3/Kconfig          |    2 +-
 drivers/usb/gadget/Kconfig        |    3 ++-
 drivers/usb/host/Kconfig          |    2 +-
 drivers/usb/musb/Kconfig          |    1 +
 drivers/usb/renesas_usbhs/Kconfig |    2 +-
 5 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig
index 77e3f40..68e9a2c 100644
--- a/drivers/usb/dwc3/Kconfig
+++ b/drivers/usb/dwc3/Kconfig
@@ -1,6 +1,6 @@
 config USB_DWC3
 	tristate "DesignWare USB3 DRD Core Support"
-	depends on (USB || USB_GADGET)
+	depends on (USB || USB_GADGET) && GENERIC_HARDIRQS
 	select USB_OTG_UTILS
 	select USB_XHCI_PLATFORM if USB_SUPPORT && USB_XHCI_HCD
 	help
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
index 5e4f879..d3d95de 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -319,6 +319,7 @@ config USB_S3C_HSUDC
 
 config USB_MV_UDC
 	tristate "Marvell USB2.0 Device Controller"
+	depends on GENERIC_HARDIRQS
 	help
 	  Marvell Socs (including PXA and MMP series) include a high speed
 	  USB2.0 OTG controller, which can be configured as high speed or
@@ -440,7 +441,7 @@ config USB_GOKU
 
 config USB_EG20T
 	tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7213/ML7831) UDC"
-	depends on PCI
+	depends on PCI && GENERIC_HARDIRQS
 	help
 	  This is a USB device driver for EG20T PCH.
 	  EG20T PCH is the platform controller hub that is used in Intel's
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 3a21c5d..c59a112 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -246,7 +246,7 @@ config USB_EHCI_ATH79
 
 config USB_OXU210HP_HCD
 	tristate "OXU210HP HCD support"
-	depends on USB
+	depends on USB && GENERIC_HARDIRQS
 	---help---
 	  The OXU210HP is an USB host/OTG/device controller. Enable this
 	  option if your board has this chip. If unsure, say N.
diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
index de6e5ce..45b19e2 100644
--- a/drivers/usb/musb/Kconfig
+++ b/drivers/usb/musb/Kconfig
@@ -46,6 +46,7 @@ config USB_MUSB_DA8XX
 
 config USB_MUSB_TUSB6010
 	tristate "TUSB6010"
+	depends on GENERIC_HARDIRQS
 
 config USB_MUSB_OMAP2PLUS
 	tristate "OMAP2430 and onwards"
diff --git a/drivers/usb/renesas_usbhs/Kconfig b/drivers/usb/renesas_usbhs/Kconfig
index 6f4afa4..29feb00 100644
--- a/drivers/usb/renesas_usbhs/Kconfig
+++ b/drivers/usb/renesas_usbhs/Kconfig
@@ -4,7 +4,7 @@
 
 config USB_RENESAS_USBHS
 	tristate 'Renesas USBHS controller'
-	depends on USB && USB_GADGET
+	depends on USB && USB_GADGET && GENERIC_HARDIRQS
 	default n
 	help
 	  Renesas USBHS is a discrete USB host and peripheral controller chip
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH 14/15] drivers/power,goldfisch battery: add missing GENERIC_HARDIRQS dependency
  2013-02-06 16:23 [PATCH 00/15] Add various missing GENERIC_HARDIRQS dependencies Heiko Carstens
                   ` (12 preceding siblings ...)
  2013-02-06 16:24 ` [PATCH 13/15] drivers/usb: add missing " Heiko Carstens
@ 2013-02-06 16:24 ` Heiko Carstens
  2013-02-16 21:24   ` Anton Vorontsov
  2013-02-06 16:24 ` [PATCH 15/15] drivers/serial: add " Heiko Carstens
  14 siblings, 1 reply; 34+ messages in thread
From: Heiko Carstens @ 2013-02-06 16:24 UTC (permalink / raw)
  To: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jkosina, jslaby, khali, mchehab, perex, sameo, tiwai, w.sang
  Cc: linux-kernel, sebott, gerald.schaefer, schwidefsky, Heiko Carstens

Fix this link error on s390:

ERROR: "devm_request_threaded_irq" [drivers/power/goldfish_battery.ko] undefined!

Cc: Anton Vorontsov <cbou@mail.ru>
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---
 drivers/power/Kconfig |    1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig
index 1e47197..9e00c38 100644
--- a/drivers/power/Kconfig
+++ b/drivers/power/Kconfig
@@ -348,6 +348,7 @@ config AB8500_BM
 
 config BATTERY_GOLDFISH
 	tristate "Goldfish battery driver"
+	depends on GENERIC_HARDIRQS
 	help
 	  Say Y to enable support for the battery and AC power in the
 	  Goldfish emulator.
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH 15/15] drivers/serial: add GENERIC_HARDIRQS dependency
  2013-02-06 16:23 [PATCH 00/15] Add various missing GENERIC_HARDIRQS dependencies Heiko Carstens
                   ` (13 preceding siblings ...)
  2013-02-06 16:24 ` [PATCH 14/15] drivers/power,goldfisch battery: add missing GENERIC_HARDIRQS dependency Heiko Carstens
@ 2013-02-06 16:24 ` Heiko Carstens
  14 siblings, 0 replies; 34+ messages in thread
From: Heiko Carstens @ 2013-02-06 16:24 UTC (permalink / raw)
  To: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jkosina, jslaby, khali, mchehab, perex, sameo, tiwai, w.sang
  Cc: linux-kernel, sebott, gerald.schaefer, schwidefsky, Heiko Carstens

Since SERIAL_CORE needs GENERIC_HARDIRQS (see below) and most serial drivers
select it, just add a GENERIC_HARDIRQS dependency to all serial drivers.

Fixes the compile error below:

drivers/tty/serial/serial_core.c: In function ‘uart_set_info’:
drivers/tty/serial/serial_core.c:725:2: error: implicit declaration of function ‘irq_canonicalize’

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---
 drivers/tty/serial/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index e9ff3f6..cf9210d 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -5,7 +5,7 @@
 if TTY
 
 menu "Serial drivers"
-	depends on HAS_IOMEM
+	depends on HAS_IOMEM && GENERIC_HARDIRQS
 
 source "drivers/tty/serial/8250/Kconfig"
 
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* Re: [PATCH 12/15] sound: add missing HAS_IOPORT and GENERIC_HARDIRQS dependencies
  2013-02-06 16:24 ` [PATCH 12/15] sound: add missing HAS_IOPORT and " Heiko Carstens
@ 2013-02-06 17:05   ` Takashi Iwai
  2013-02-07  1:13     ` Arnd Bergmann
  0 siblings, 1 reply; 34+ messages in thread
From: Takashi Iwai @ 2013-02-06 17:05 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jkosina, jslaby, khali, mchehab, perex, sameo, w.sang,
	linux-kernel, sebott, gerald.schaefer, schwidefsky

At Wed,  6 Feb 2013 17:24:00 +0100,
Heiko Carstens wrote:
> 
> Fix these two compile errors on s390 which does not have HAS_IOPORT
> nor GENERIC_HARDIRQS:
> 
> sound/pci/lx6464es/lx6464es.c: In function ‘snd_lx6464es_free’:
> sound/pci/lx6464es/lx6464es.c:565:2: error: implicit declaration of function ‘ioport_unmap’

Shouldn't this be fixed rather in asm-generic/io.h?
Something like,

#if defined(CONFIG_HAS_IOPORT) && defined(CONFIG_GENERIC_IOMAP)
extern void __iomem *ioport_map(unsigned long port, unsigned int nr);
extern void ioport_unmap(void __iomem *p);
#else
static inline void __iomem *ioport_map(unsigned long port, unsigned int nr)
{
	return (void __iomem *) port;
}

static inline void ioport_unmap(void __iomem *p)
{
}
#endif /* CONFIG_HAS_IOPORT */


> sound/soc/codecs/wm8903.c: In function ‘wm8903_set_pdata_irq_trigger’:
> sound/soc/codecs/wm8903.c:1954:9: error: implicit declaration of function ‘irq_get_irq_data’

Ditto, how about defining

#ifndef CONFIG_GENERIC_HARDIRQS
#define irq_get_irq_data(x)  NULL
#endif

somewhere appropriately?


Takashi

> 
> Cc: Jaroslav Kysela <perex@perex.cz>
> Cc: Takashi Iwai <tiwai@suse.de>
> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
> ---
>  sound/pci/Kconfig        |    1 +
>  sound/soc/codecs/Kconfig |    2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
> index 947cfb4..fe6fa93 100644
> --- a/sound/pci/Kconfig
> +++ b/sound/pci/Kconfig
> @@ -678,6 +678,7 @@ config SND_LOLA
>  
>  config SND_LX6464ES
>  	tristate "Digigram LX6464ES"
> +	depends on HAS_IOPORT
>  	select SND_PCM
>  	help
>  	  Say Y here to include support for Digigram LX6464ES boards.
> diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> index 298822c..65e3c6a 100644
> --- a/sound/soc/codecs/Kconfig
> +++ b/sound/soc/codecs/Kconfig
> @@ -98,7 +98,7 @@ config SND_SOC_ALL_CODECS
>  	select SND_SOC_WM8782
>  	select SND_SOC_WM8804 if SND_SOC_I2C_AND_SPI
>  	select SND_SOC_WM8900 if I2C
> -	select SND_SOC_WM8903 if I2C
> +	select SND_SOC_WM8903 if I2C && GENERIC_HARDIRQS
>  	select SND_SOC_WM8904 if I2C
>  	select SND_SOC_WM8940 if I2C
>  	select SND_SOC_WM8955 if I2C
> -- 
> 1.7.10.4
> 

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH 12/15] sound: add missing HAS_IOPORT and GENERIC_HARDIRQS dependencies
  2013-02-07  1:13     ` Arnd Bergmann
@ 2013-02-06 17:26       ` Takashi Iwai
  2013-02-06 18:12         ` Heiko Carstens
  0 siblings, 1 reply; 34+ messages in thread
From: Takashi Iwai @ 2013-02-06 17:26 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Heiko Carstens, axboe, cbou, davem, dtor, dwmw2, grant.likely,
	gregkh, jkosina, jslaby, khali, mchehab, perex, sameo, w.sang,
	linux-kernel, sebott, gerald.schaefer, schwidefsky

At Thu, 07 Feb 2013 02:13:19 +0100,
Arnd Bergmann wrote:
> 
> On Wednesday 06 February 2013 18:05:14 Takashi Iwai wrote:
> > At Wed,  6 Feb 2013 17:24:00 +0100,
> > Heiko Carstens wrote:
> > > 
> > > Fix these two compile errors on s390 which does not have HAS_IOPORT
> > > nor GENERIC_HARDIRQS:
> > > 
> > > sound/pci/lx6464es/lx6464es.c: In function ‘snd_lx6464es_free’:
> > > sound/pci/lx6464es/lx6464es.c:565:2: error: implicit declaration of function ‘ioport_unmap’
> > 
> > Shouldn't this be fixed rather in asm-generic/io.h?
> > Something like,
> > 
> > #if defined(CONFIG_HAS_IOPORT) && defined(CONFIG_GENERIC_IOMAP)
> > extern void __iomem *ioport_map(unsigned long port, unsigned int nr);
> > extern void ioport_unmap(void __iomem *p);
> > #else
> > static inline void __iomem *ioport_map(unsigned long port, unsigned int nr)
> > {
> > 	return (void __iomem *) port;
> > }
> > 
> > static inline void ioport_unmap(void __iomem *p)
> > {
> > }
> > #endif /* CONFIG_HAS_IOPORT */
> 
> No, it is intentional that the CONFIG_HAS_IOPORT symbol refers to
> the fact that you can use the ioport_map function, in order to
> disallow building drivers that depend on this function when it
> is unavailable. I actually want to change this, but in the opposite
> way of what you are proposing:
> 
> I think CONFIG_HAS_IOPORT should refer to the fact that the
> inb/outb family of functions are usuable and be unset when
> they are not provided, and I would introduce a new
> CONFIG_HAS_IOPORT_MAP symbol for those (few) platforms that
> have a working inb/outb but no ioport_map.

Yet another Kconfig, but sounds reasonable :)

> > > sound/soc/codecs/wm8903.c: In function ‘wm8903_set_pdata_irq_trigger’:
> > > sound/soc/codecs/wm8903.c:1954:9: error: implicit declaration of function ‘irq_get_irq_data’
> > 
> > Ditto, how about defining
> > 
> > #ifndef CONFIG_GENERIC_HARDIRQS
> > #define irq_get_irq_data(x)  NULL
> > #endif
> > 
> > somewhere appropriately?
> > 
> 
> Why not just make CONFIG_GENERIC_HARDIRQS mandatory for all
> platforms. It is use almost everywhere now.

I wonder it, too...


thanks,

Takashi

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH 12/15] sound: add missing HAS_IOPORT and GENERIC_HARDIRQS dependencies
  2013-02-06 17:26       ` Takashi Iwai
@ 2013-02-06 18:12         ` Heiko Carstens
  2013-02-06 21:56           ` Arnd Bergmann
  0 siblings, 1 reply; 34+ messages in thread
From: Heiko Carstens @ 2013-02-06 18:12 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: Arnd Bergmann, axboe, cbou, davem, dtor, dwmw2, grant.likely,
	gregkh, jkosina, jslaby, khali, mchehab, perex, sameo, w.sang,
	linux-kernel, sebott, gerald.schaefer, schwidefsky

On Wed, Feb 06, 2013 at 06:26:02PM +0100, Takashi Iwai wrote:
> At Thu, 07 Feb 2013 02:13:19 +0100,
> Arnd Bergmann wrote:
> > On Wednesday 06 February 2013 18:05:14 Takashi Iwai wrote:
> > > At Wed,  6 Feb 2013 17:24:00 +0100,
> > > Heiko Carstens wrote:
> > > #if defined(CONFIG_HAS_IOPORT) && defined(CONFIG_GENERIC_IOMAP)
> > > extern void __iomem *ioport_map(unsigned long port, unsigned int nr);
> > > extern void ioport_unmap(void __iomem *p);
> > > #else
> > > static inline void __iomem *ioport_map(unsigned long port, unsigned int nr)
> > > {
> > > 	return (void __iomem *) port;
> > > }
> > > 
> > > static inline void ioport_unmap(void __iomem *p)
> > > {
> > > }
> > > #endif /* CONFIG_HAS_IOPORT */
> > 
> > No, it is intentional that the CONFIG_HAS_IOPORT symbol refers to
> > the fact that you can use the ioport_map function, in order to
> > disallow building drivers that depend on this function when it
> > is unavailable. I actually want to change this, but in the opposite
> > way of what you are proposing:
> > 
> > I think CONFIG_HAS_IOPORT should refer to the fact that the
> > inb/outb family of functions are usuable and be unset when
> > they are not provided, and I would introduce a new
> > CONFIG_HAS_IOPORT_MAP symbol for those (few) platforms that
> > have a working inb/outb but no ioport_map.
> 
> Yet another Kconfig, but sounds reasonable :)

Right... I just wanted to make s390 compile with the Kconfig methods we use
since nearly a decade and not change the world ;)

> > > > sound/soc/codecs/wm8903.c: In function ‘wm8903_set_pdata_irq_trigger’:
> > > > sound/soc/codecs/wm8903.c:1954:9: error: implicit declaration of function ‘irq_get_irq_data’
> > > 
> > > Ditto, how about defining
> > > 
> > > #ifndef CONFIG_GENERIC_HARDIRQS
> > > #define irq_get_irq_data(x)  NULL
> > > #endif
> > > 
> > > somewhere appropriately?
> > > 
> > 
> > Why not just make CONFIG_GENERIC_HARDIRQS mandatory for all
> > platforms. It is use almost everywhere now.
> 
> I wonder it, too...

I haven't looked into it, but I doubt if that is possible without large
effort, if at all. s390 doesn't have any irq chips, nor something like
edge or level triggered irqs.
Instead we have floating interrupts. Does that fit into the concept of
GENERIC_HARDIRQS at all?
If so, we can give it a try, sure. But that won't happen any time soon.

Or are you simply proposing we should have both, our own irq handling plus
GENERIC_HARDIRQS with dummy functions?


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH 10/15] drivers/net,AT91RM9200: add missing GENERIC_HARDIRQS dependency
  2013-02-06 16:23 ` [PATCH 10/15] drivers/net,AT91RM9200: add missing GENERIC_HARDIRQS dependency Heiko Carstens
@ 2013-02-06 21:12   ` David Miller
  0 siblings, 0 replies; 34+ messages in thread
From: David Miller @ 2013-02-06 21:12 UTC (permalink / raw)
  To: heiko.carstens
  Cc: arnd, axboe, cbou, dtor, dwmw2, grant.likely, gregkh, jkosina,
	jslaby, khali, mchehab, perex, sameo, tiwai, w.sang,
	linux-kernel, sebott, gerald.schaefer, schwidefsky

From: Heiko Carstens <heiko.carstens@de.ibm.com>
Date: Wed,  6 Feb 2013 17:23:58 +0100

> The AT91RM9200 driver call devm_request_irq() and therefore should
> depend on GENERIC_HARDIRQS to prevent link/compile errors on plaforms
> without GENERIC_HARDIRQS.
> 
> Cc: "David S. Miller" <davem@davemloft.net>
> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>

Acked-by: David S. Miller <davem@davemloft.net>

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH 12/15] sound: add missing HAS_IOPORT and GENERIC_HARDIRQS dependencies
  2013-02-06 18:12         ` Heiko Carstens
@ 2013-02-06 21:56           ` Arnd Bergmann
  2013-02-07 13:32             ` Heiko Carstens
  2013-02-13 21:34             ` Dmitry Torokhov
  0 siblings, 2 replies; 34+ messages in thread
From: Arnd Bergmann @ 2013-02-06 21:56 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: Takashi Iwai, axboe, cbou, davem, dtor, dwmw2, grant.likely,
	gregkh, jkosina, jslaby, khali, mchehab, perex, sameo, w.sang,
	linux-kernel, sebott, gerald.schaefer, schwidefsky

On Wednesday 06 February 2013, Heiko Carstens wrote:
> On Wed, Feb 06, 2013 at 06:26:02PM +0100, Takashi Iwai wrote:
> > At Thu, 07 Feb 2013 02:13:19 +0100,
> > Arnd Bergmann wrote:
> > > No, it is intentional that the CONFIG_HAS_IOPORT symbol refers to
> > > the fact that you can use the ioport_map function, in order to
> > > disallow building drivers that depend on this function when it
> > > is unavailable. I actually want to change this, but in the opposite
> > > way of what you are proposing:
> > > 
> > > I think CONFIG_HAS_IOPORT should refer to the fact that the
> > > inb/outb family of functions are usuable and be unset when
> > > they are not provided, and I would introduce a new
> > > CONFIG_HAS_IOPORT_MAP symbol for those (few) platforms that
> > > have a working inb/outb but no ioport_map.
> > 
> > Yet another Kconfig, but sounds reasonable :)
> 
> Right... I just wanted to make s390 compile with the Kconfig methods we use
> since nearly a decade and not change the world ;)

Your patch looks fine here, I was just mentioning that this is going to
change. After my patch, things will be different for s390 as well, because
it presumably won't provide the inb/outb accessors any more then
and not set the (new) CONFIG_HAS_IOPORT.

> > > 
> > > Why not just make CONFIG_GENERIC_HARDIRQS mandatory for all
> > > platforms. It is use almost everywhere now.
> > 
> > I wonder it, too...
> 
> I haven't looked into it, but I doubt if that is possible without large
> effort, if at all. s390 doesn't have any irq chips, nor something like
> edge or level triggered irqs.
> Instead we have floating interrupts. Does that fit into the concept of
> GENERIC_HARDIRQS at all?
> If so, we can give it a try, sure. But that won't happen any time soon.
> 
> Or are you simply proposing we should have both, our own irq handling plus
> GENERIC_HARDIRQS with dummy functions?

I think you should use GENERIC_HARDIRQ just for PCI, and rename the s390
interrupt handling to something that does not conflict. I understand
that the concepts are quite different, but with PCI support, you actually
do get all the weird interrupt hardware.
More importantly, some features provided by GENERIC_HARDIRQ are replacing
the traditional interfaces now, e.g. devm_request_irq() is actually
recommended over request_irq() for normal drivers these days, as it
simplifies the error handling.

	Arnd

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH 12/15] sound: add missing HAS_IOPORT and GENERIC_HARDIRQS dependencies
  2013-02-06 17:05   ` Takashi Iwai
@ 2013-02-07  1:13     ` Arnd Bergmann
  2013-02-06 17:26       ` Takashi Iwai
  0 siblings, 1 reply; 34+ messages in thread
From: Arnd Bergmann @ 2013-02-07  1:13 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: Heiko Carstens, axboe, cbou, davem, dtor, dwmw2, grant.likely,
	gregkh, jkosina, jslaby, khali, mchehab, perex, sameo, w.sang,
	linux-kernel, sebott, gerald.schaefer, schwidefsky

On Wednesday 06 February 2013 18:05:14 Takashi Iwai wrote:
> At Wed,  6 Feb 2013 17:24:00 +0100,
> Heiko Carstens wrote:
> > 
> > Fix these two compile errors on s390 which does not have HAS_IOPORT
> > nor GENERIC_HARDIRQS:
> > 
> > sound/pci/lx6464es/lx6464es.c: In function ‘snd_lx6464es_free’:
> > sound/pci/lx6464es/lx6464es.c:565:2: error: implicit declaration of function ‘ioport_unmap’
> 
> Shouldn't this be fixed rather in asm-generic/io.h?
> Something like,
> 
> #if defined(CONFIG_HAS_IOPORT) && defined(CONFIG_GENERIC_IOMAP)
> extern void __iomem *ioport_map(unsigned long port, unsigned int nr);
> extern void ioport_unmap(void __iomem *p);
> #else
> static inline void __iomem *ioport_map(unsigned long port, unsigned int nr)
> {
> 	return (void __iomem *) port;
> }
> 
> static inline void ioport_unmap(void __iomem *p)
> {
> }
> #endif /* CONFIG_HAS_IOPORT */

No, it is intentional that the CONFIG_HAS_IOPORT symbol refers to
the fact that you can use the ioport_map function, in order to
disallow building drivers that depend on this function when it
is unavailable. I actually want to change this, but in the opposite
way of what you are proposing:

I think CONFIG_HAS_IOPORT should refer to the fact that the
inb/outb family of functions are usuable and be unset when
they are not provided, and I would introduce a new
CONFIG_HAS_IOPORT_MAP symbol for those (few) platforms that
have a working inb/outb but no ioport_map.

> > sound/soc/codecs/wm8903.c: In function ‘wm8903_set_pdata_irq_trigger’:
> > sound/soc/codecs/wm8903.c:1954:9: error: implicit declaration of function ‘irq_get_irq_data’
> 
> Ditto, how about defining
> 
> #ifndef CONFIG_GENERIC_HARDIRQS
> #define irq_get_irq_data(x)  NULL
> #endif
> 
> somewhere appropriately?
> 

Why not just make CONFIG_GENERIC_HARDIRQS mandatory for all
platforms. It is use almost everywhere now.

	Arnd

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH 04/15] drivers/block/mtip32xx: add missing GENERIC_HARDIRQS dependency
  2013-02-06 16:23 ` [PATCH 04/15] drivers/block/mtip32xx: add missing GENERIC_HARDIRQS dependency Heiko Carstens
@ 2013-02-07  6:35   ` Jens Axboe
  0 siblings, 0 replies; 34+ messages in thread
From: Jens Axboe @ 2013-02-07  6:35 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: arnd, cbou, davem, dtor, dwmw2, grant.likely, gregkh, jkosina,
	jslaby, khali, mchehab, perex, sameo, tiwai, w.sang,
	linux-kernel, sebott, gerald.schaefer, schwidefsky

On Wed, Feb 06 2013, Heiko Carstens wrote:
> The MTIP32XX driver calls devm_request_irq() and therefore needs a
> GENERIC_HARDIRQS dependency to prevent building it on s390.

I'll queue this up for 3.9, thanks Heiko.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH 03/15] drivers/mfd: add missing GENERIC_HARDIRQS dependecies
  2013-02-06 16:23 ` [PATCH 03/15] drivers/mfd: add missing GENERIC_HARDIRQS dependecies Heiko Carstens
@ 2013-02-07  7:39   ` Samuel Ortiz
  0 siblings, 0 replies; 34+ messages in thread
From: Samuel Ortiz @ 2013-02-07  7:39 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jkosina, jslaby, khali, mchehab, perex, tiwai, w.sang,
	linux-kernel, sebott, gerald.schaefer, schwidefsky

Hi Heiko,

On Wed, Feb 06, 2013 at 05:23:51PM +0100, Heiko Carstens wrote:
> A lot of mfd drivers select MFD_CORE which however depends on
> GENERIC_HARDIRQS support.
> So add the missing dependency to all drivers to get rid of
> this link error:
> 
> ERROR: "irq_create_mapping" [drivers/mfd/mfd-core.ko] undefined!
> 
> Cc: Samuel Ortiz <sameo@linux.intel.com>
> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
> ---
>  drivers/mfd/Kconfig |   72 +++++++++++++++++++++++++++------------------------
>  1 file changed, 38 insertions(+), 34 deletions(-)
> 
Applied to my for-next branch, thanks.

Cheers,
Samuel.

-- 
Intel Open Source Technology Centre
http://oss.intel.com/

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH 07/15] drivers/hid: add missing GENERIC_HARDIRQ dependency
  2013-02-06 16:23 ` [PATCH 07/15] drivers/hid: " Heiko Carstens
@ 2013-02-07 10:37   ` Jiri Kosina
  0 siblings, 0 replies; 34+ messages in thread
From: Jiri Kosina @ 2013-02-07 10:37 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jslaby, khali, mchehab, perex, sameo, tiwai, w.sang,
	linux-kernel, sebott, gerald.schaefer, schwidefsky

On Wed, 6 Feb 2013, Heiko Carstens wrote:

> HID Sensors framework support (CONFIG_HID_SENSOR_HUB) unconditionally
> selects MFD_CORE which however depends on GENERIC_HARDIRQS.
> So add this dependency to HID_SENSOR_HUB as well.

Applied, thanks.

-- 
Jiri Kosina
SUSE Labs

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH 12/15] sound: add missing HAS_IOPORT and GENERIC_HARDIRQS dependencies
  2013-02-06 21:56           ` Arnd Bergmann
@ 2013-02-07 13:32             ` Heiko Carstens
  2013-02-07 13:36               ` Arnd Bergmann
  2013-02-07 13:39               ` Takashi Iwai
  2013-02-13 21:34             ` Dmitry Torokhov
  1 sibling, 2 replies; 34+ messages in thread
From: Heiko Carstens @ 2013-02-07 13:32 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Takashi Iwai, axboe, cbou, davem, dtor, dwmw2, grant.likely,
	gregkh, jkosina, jslaby, khali, mchehab, perex, sameo, w.sang,
	linux-kernel, sebott, gerald.schaefer, schwidefsky

On Wed, Feb 06, 2013 at 09:56:55PM +0000, Arnd Bergmann wrote:
> On Wednesday 06 February 2013, Heiko Carstens wrote:
> > On Wed, Feb 06, 2013 at 06:26:02PM +0100, Takashi Iwai wrote:
> > > At Thu, 07 Feb 2013 02:13:19 +0100,
> > > Arnd Bergmann wrote:
> > > > Why not just make CONFIG_GENERIC_HARDIRQS mandatory for all
> > > > platforms. It is use almost everywhere now.
> > > 
> > > I wonder it, too...
> > 
> > I haven't looked into it, but I doubt if that is possible without large
> > effort, if at all. s390 doesn't have any irq chips, nor something like
> > edge or level triggered irqs.
> > Instead we have floating interrupts. Does that fit into the concept of
> > GENERIC_HARDIRQS at all?
> > If so, we can give it a try, sure. But that won't happen any time soon.
> > 
> > Or are you simply proposing we should have both, our own irq handling plus
> > GENERIC_HARDIRQS with dummy functions?
> 
> I think you should use GENERIC_HARDIRQ just for PCI, and rename the s390
> interrupt handling to something that does not conflict. I understand
> that the concepts are quite different, but with PCI support, you actually
> do get all the weird interrupt hardware.
> More importantly, some features provided by GENERIC_HARDIRQ are replacing
> the traditional interfaces now, e.g. devm_request_irq() is actually
> recommended over request_irq() for normal drivers these days, as it
> simplifies the error handling.

That sounds reasonable. And a quick grep seems to indicate that s390
is the last architecture with !GENERIC_HARDIRQS.
However having two completely different IRQ subsystems within one
architecture will bring up some interesting questions like e.g.
how should /proc/interrupts look like? Or /proc/stat:intr ?

Jan considered turning GENERIC_HARDIRQS on for PCI support, but didn't.
I don't know why he didn't and since he left, we can't ask him anymore.

So for the time being I'd appreciate it if we can simply add the
additional GENERIC_HARDIRQS dependencies where needed, since I consider
a working allmodconfig quite important.
Later on we should indeed try to switch to GENERIC_HARDIRQS and then
git rid of that config option completely. However I leave that to
Sebastian and Gerald who now take care of our PCI code ;)

Thanks,
Heiko


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH 12/15] sound: add missing HAS_IOPORT and GENERIC_HARDIRQS dependencies
  2013-02-07 13:32             ` Heiko Carstens
@ 2013-02-07 13:36               ` Arnd Bergmann
  2013-02-07 13:39               ` Takashi Iwai
  1 sibling, 0 replies; 34+ messages in thread
From: Arnd Bergmann @ 2013-02-07 13:36 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: Takashi Iwai, axboe, cbou, davem, dtor, dwmw2, grant.likely,
	gregkh, jkosina, jslaby, khali, mchehab, perex, sameo, w.sang,
	linux-kernel, sebott, gerald.schaefer, schwidefsky

On Thursday 07 February 2013 14:32:06 Heiko Carstens wrote:
> 
> That sounds reasonable. And a quick grep seems to indicate that s390
> is the last architecture with !GENERIC_HARDIRQS.
> However having two completely different IRQ subsystems within one
> architecture will bring up some interesting questions like e.g.
> how should /proc/interrupts look like? Or /proc/stat:intr ?

/proc/interrupts can still be managed by architecture code, and
you can put in there whatever makes sense. I would suggest
keeping the current code for it, or adding the GENERIC_HARDIRQ
support at the end of it.

> Jan considered turning GENERIC_HARDIRQS on for PCI support, but didn't.
> I don't know why he didn't and since he left, we can't ask him anymore.

I briefly talked about it with him a couple of months ago, and
he said that the thought Martin would hate it.  I still think
it's the best solution though.

> So for the time being I'd appreciate it if we can simply add the
> additional GENERIC_HARDIRQS dependencies where needed, since I consider
> a working allmodconfig quite important.
>
> Later on we should indeed try to switch to GENERIC_HARDIRQS and then
> git rid of that config option completely. However I leave that to
> Sebastian and Gerald who now take care of our PCI code 

Yes, makes sense.

	Arnd

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH 12/15] sound: add missing HAS_IOPORT and GENERIC_HARDIRQS dependencies
  2013-02-07 13:32             ` Heiko Carstens
  2013-02-07 13:36               ` Arnd Bergmann
@ 2013-02-07 13:39               ` Takashi Iwai
  1 sibling, 0 replies; 34+ messages in thread
From: Takashi Iwai @ 2013-02-07 13:39 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: Arnd Bergmann, axboe, cbou, davem, dtor, dwmw2, grant.likely,
	gregkh, jkosina, jslaby, khali, mchehab, perex, sameo, w.sang,
	linux-kernel, sebott, gerald.schaefer, schwidefsky

At Thu, 7 Feb 2013 14:32:06 +0100,
Heiko Carstens wrote:
> 
> On Wed, Feb 06, 2013 at 09:56:55PM +0000, Arnd Bergmann wrote:
> > On Wednesday 06 February 2013, Heiko Carstens wrote:
> > > On Wed, Feb 06, 2013 at 06:26:02PM +0100, Takashi Iwai wrote:
> > > > At Thu, 07 Feb 2013 02:13:19 +0100,
> > > > Arnd Bergmann wrote:
> > > > > Why not just make CONFIG_GENERIC_HARDIRQS mandatory for all
> > > > > platforms. It is use almost everywhere now.
> > > > 
> > > > I wonder it, too...
> > > 
> > > I haven't looked into it, but I doubt if that is possible without large
> > > effort, if at all. s390 doesn't have any irq chips, nor something like
> > > edge or level triggered irqs.
> > > Instead we have floating interrupts. Does that fit into the concept of
> > > GENERIC_HARDIRQS at all?
> > > If so, we can give it a try, sure. But that won't happen any time soon.
> > > 
> > > Or are you simply proposing we should have both, our own irq handling plus
> > > GENERIC_HARDIRQS with dummy functions?
> > 
> > I think you should use GENERIC_HARDIRQ just for PCI, and rename the s390
> > interrupt handling to something that does not conflict. I understand
> > that the concepts are quite different, but with PCI support, you actually
> > do get all the weird interrupt hardware.
> > More importantly, some features provided by GENERIC_HARDIRQ are replacing
> > the traditional interfaces now, e.g. devm_request_irq() is actually
> > recommended over request_irq() for normal drivers these days, as it
> > simplifies the error handling.
> 
> That sounds reasonable. And a quick grep seems to indicate that s390
> is the last architecture with !GENERIC_HARDIRQS.
> However having two completely different IRQ subsystems within one
> architecture will bring up some interesting questions like e.g.
> how should /proc/interrupts look like? Or /proc/stat:intr ?
> 
> Jan considered turning GENERIC_HARDIRQS on for PCI support, but didn't.
> I don't know why he didn't and since he left, we can't ask him anymore.
> 
> So for the time being I'd appreciate it if we can simply add the
> additional GENERIC_HARDIRQS dependencies where needed, since I consider
> a working allmodconfig quite important.
> Later on we should indeed try to switch to GENERIC_HARDIRQS and then
> git rid of that config option completely. However I leave that to
> Sebastian and Gerald who now take care of our PCI code ;)

OK, then I'll queue the sound patch to sound.git tree as is.
If things get easier, let's fix them later.


thanks,

Takashi

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH 09/15] drivers/media: add missing GENERIC_HARDIRQS dependencies
  2013-02-06 16:23 ` [PATCH 09/15] drivers/media: add missing GENERIC_HARDIRQS dependencies Heiko Carstens
@ 2013-02-07 14:01   ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 34+ messages in thread
From: Mauro Carvalho Chehab @ 2013-02-07 14:01 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, gregkh,
	jkosina, jslaby, khali, perex, sameo, tiwai, w.sang,
	linux-kernel, sebott, gerald.schaefer, schwidefsky

Em Wed,  6 Feb 2013 17:23:57 +0100
Heiko Carstens <heiko.carstens@de.ibm.com> escreveu:

> The SuperH VEU mem2mem video processing driver (VIDEO_SH_VEU)
> calls devm_request_threaded_irq() and therefore should depend
> on GENERIC_HARDIRQS.
> Texas Instruments WL1273 I2C FM Radio (RADIO_WL1273) selects
> MFD_CORE, which itself depends on GENERIC_HARDIRQS.
> So add the dependency to the TI driver as well.
> 
> Cc: Mauro Carvalho Chehab <mchehab@redhat.com>

Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>

> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
> ---
>  drivers/media/platform/Kconfig |    2 +-
>  drivers/media/radio/Kconfig    |    2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
> index 05d7b63..a0639e7 100644
> --- a/drivers/media/platform/Kconfig
> +++ b/drivers/media/platform/Kconfig
> @@ -204,7 +204,7 @@ config VIDEO_SAMSUNG_EXYNOS_GSC
>  
>  config VIDEO_SH_VEU
>  	tristate "SuperH VEU mem2mem video processing driver"
> -	depends on VIDEO_DEV && VIDEO_V4L2
> +	depends on VIDEO_DEV && VIDEO_V4L2 && GENERIC_HARDIRQS
>  	select VIDEOBUF2_DMA_CONTIG
>  	select V4L2_MEM2MEM_DEV
>  	help
> diff --git a/drivers/media/radio/Kconfig b/drivers/media/radio/Kconfig
> index ead9928..24e64a0 100644
> --- a/drivers/media/radio/Kconfig
> +++ b/drivers/media/radio/Kconfig
> @@ -192,7 +192,7 @@ config RADIO_TIMBERDALE
>  
>  config RADIO_WL1273
>  	tristate "Texas Instruments WL1273 I2C FM Radio"
> -	depends on I2C && VIDEO_V4L2
> +	depends on I2C && VIDEO_V4L2 && GENERIC_HARDIRQS
>  	select MFD_CORE
>  	select MFD_WL1273_CORE
>  	select FW_LOADER


-- 

Cheers,
Mauro

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH 08/15] drivers/misc/cb710: add missing GENERIC_HARDIRQS dependency
  2013-02-06 16:23 ` [PATCH 08/15] drivers/misc/cb710: add missing GENERIC_HARDIRQS dependency Heiko Carstens
@ 2013-02-08 20:23   ` Greg KH
  2013-02-08 20:23     ` Greg KH
  0 siblings, 1 reply; 34+ messages in thread
From: Greg KH @ 2013-02-08 20:23 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, jkosina,
	jslaby, khali, mchehab, perex, sameo, tiwai, w.sang,
	linux-kernel, sebott, gerald.schaefer, schwidefsky

On Wed, Feb 06, 2013 at 05:23:56PM +0100, Heiko Carstens wrote:
> CB710_CORE (drivers/misc/cb710/core.c) calls devm_request_irq() and
> therefore needs a GENERIC_HARDIRQS dependency to prevent a link
> error on s390.
> 
> Cc: Arnd Bergmann <arnd@arndb.de>
> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
> ---
>  drivers/misc/cb710/Kconfig |    2 +-
>  drivers/mmc/host/Kconfig   |    2 +-

I've deleted the drivers/mmc/ portion of this patch, as I don't think
you ment to include it in this one.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH 08/15] drivers/misc/cb710: add missing GENERIC_HARDIRQS dependency
  2013-02-08 20:23   ` Greg KH
@ 2013-02-08 20:23     ` Greg KH
  0 siblings, 0 replies; 34+ messages in thread
From: Greg KH @ 2013-02-08 20:23 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: arnd, axboe, cbou, davem, dtor, dwmw2, grant.likely, jkosina,
	jslaby, khali, mchehab, perex, sameo, tiwai, w.sang,
	linux-kernel, sebott, gerald.schaefer, schwidefsky

On Fri, Feb 08, 2013 at 12:23:00PM -0800, Greg KH wrote:
> On Wed, Feb 06, 2013 at 05:23:56PM +0100, Heiko Carstens wrote:
> > CB710_CORE (drivers/misc/cb710/core.c) calls devm_request_irq() and
> > therefore needs a GENERIC_HARDIRQS dependency to prevent a link
> > error on s390.
> > 
> > Cc: Arnd Bergmann <arnd@arndb.de>
> > Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
> > ---
> >  drivers/misc/cb710/Kconfig |    2 +-
> >  drivers/mmc/host/Kconfig   |    2 +-
> 
> I've deleted the drivers/mmc/ portion of this patch, as I don't think
> you ment to include it in this one.

Nevermind, it is needed, I put it back...


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH 12/15] sound: add missing HAS_IOPORT and GENERIC_HARDIRQS dependencies
  2013-02-06 21:56           ` Arnd Bergmann
  2013-02-07 13:32             ` Heiko Carstens
@ 2013-02-13 21:34             ` Dmitry Torokhov
  1 sibling, 0 replies; 34+ messages in thread
From: Dmitry Torokhov @ 2013-02-13 21:34 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Heiko Carstens, Takashi Iwai, axboe, cbou, davem, dwmw2,
	grant.likely, gregkh, jkosina, jslaby, khali, mchehab, perex,
	sameo, w.sang, linux-kernel, sebott, gerald.schaefer,
	schwidefsky

On Wed, Feb 06, 2013 at 09:56:55PM +0000, Arnd Bergmann wrote:
> On Wednesday 06 February 2013, Heiko Carstens wrote:
> > 
> > I haven't looked into it, but I doubt if that is possible without large
> > effort, if at all. s390 doesn't have any irq chips, nor something like
> > edge or level triggered irqs.
> > Instead we have floating interrupts. Does that fit into the concept of
> > GENERIC_HARDIRQS at all?
> > If so, we can give it a try, sure. But that won't happen any time soon.
> > 
> > Or are you simply proposing we should have both, our own irq handling plus
> > GENERIC_HARDIRQS with dummy functions?
> 
> I think you should use GENERIC_HARDIRQ just for PCI, and rename the s390
> interrupt handling to something that does not conflict. I understand
> that the concepts are quite different, but with PCI support, you actually
> do get all the weird interrupt hardware.
> More importantly, some features provided by GENERIC_HARDIRQ are replacing
> the traditional interfaces now, e.g. devm_request_irq() is actually
> recommended over request_irq() for normal drivers these days, as it
> simplifies the error handling.

I would be very careful with this statement. While devm_request_irq()
does simplify error handling in several cases I have also seen countless
examples when it was used with non devm_*-managed structures that are
freed by hand opening race window where interrupts can be delivered and
use structure that is already freed.

Thanks.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH 01/15] drivers/input: add couple of missing GENERIC_HARDIRQS dependencies
  2013-02-06 16:23 ` [PATCH 01/15] drivers/input: add couple of " Heiko Carstens
@ 2013-02-14  4:22   ` Dmitry Torokhov
  0 siblings, 0 replies; 34+ messages in thread
From: Dmitry Torokhov @ 2013-02-14  4:22 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: arnd, axboe, cbou, davem, dwmw2, grant.likely, gregkh, jkosina,
	jslaby, khali, mchehab, perex, sameo, tiwai, w.sang,
	linux-kernel, sebott, gerald.schaefer, schwidefsky

On Wed, Feb 06, 2013 at 05:23:49PM +0100, Heiko Carstens wrote:
> When removing the !S390 dependency from drivers/input/Kconfig a couple
> of drivers don't compile because they have a dependency on GENERIC_HARDIRQS.
> So add the missing dependencies.
> Fixes e.g. this one:
> 
> drivers/input/keyboard/lm8323.c: In function ‘lm8323_suspend’:
> drivers/input/keyboard/lm8323.c:801:2: error: implicit declaration of function ‘irq_set_irq_wake’
> 	[-Werror=implicit-function-declaration]
> 
> Cc: Dmitry Torokhov <dtor@mail.ru>
> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>

Queued for 3.9, thanks Heiko.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH 14/15] drivers/power,goldfisch battery: add missing GENERIC_HARDIRQS dependency
  2013-02-06 16:24 ` [PATCH 14/15] drivers/power,goldfisch battery: add missing GENERIC_HARDIRQS dependency Heiko Carstens
@ 2013-02-16 21:24   ` Anton Vorontsov
  0 siblings, 0 replies; 34+ messages in thread
From: Anton Vorontsov @ 2013-02-16 21:24 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: arnd, axboe, davem, dtor, dwmw2, grant.likely, gregkh, jkosina,
	jslaby, khali, mchehab, perex, sameo, tiwai, w.sang,
	linux-kernel, sebott, gerald.schaefer, schwidefsky

On Wed, Feb 06, 2013 at 05:24:02PM +0100, Heiko Carstens wrote:
> Fix this link error on s390:
> 
> ERROR: "devm_request_threaded_irq" [drivers/power/goldfish_battery.ko] undefined!
> 
> Cc: Anton Vorontsov <cbou@mail.ru>
> Cc: David Woodhouse <dwmw2@infradead.org>
> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
> ---

Applied, thanks!

>  drivers/power/Kconfig |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig
> index 1e47197..9e00c38 100644
> --- a/drivers/power/Kconfig
> +++ b/drivers/power/Kconfig
> @@ -348,6 +348,7 @@ config AB8500_BM
>  
>  config BATTERY_GOLDFISH
>  	tristate "Goldfish battery driver"
> +	depends on GENERIC_HARDIRQS
>  	help
>  	  Say Y to enable support for the battery and AC power in the
>  	  Goldfish emulator.
> -- 
> 1.7.10.4
> 
> 

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2013-02-16 21:28 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-06 16:23 [PATCH 00/15] Add various missing GENERIC_HARDIRQS dependencies Heiko Carstens
2013-02-06 16:23 ` [PATCH 01/15] drivers/input: add couple of " Heiko Carstens
2013-02-14  4:22   ` Dmitry Torokhov
2013-02-06 16:23 ` [PATCH 02/15] drivers/i2c: remove !S390 dependency, add " Heiko Carstens
2013-02-06 16:23 ` [PATCH 03/15] drivers/mfd: add missing GENERIC_HARDIRQS dependecies Heiko Carstens
2013-02-07  7:39   ` Samuel Ortiz
2013-02-06 16:23 ` [PATCH 04/15] drivers/block/mtip32xx: add missing GENERIC_HARDIRQS dependency Heiko Carstens
2013-02-07  6:35   ` Jens Axboe
2013-02-06 16:23 ` [PATCH 05/15] drivers/dma/dw_dmac: " Heiko Carstens
2013-02-06 16:23 ` [PATCH 06/15] drivers/gpio: add missing GENERIC_HARDIRQ dependency Heiko Carstens
2013-02-06 16:23 ` [PATCH 07/15] drivers/hid: " Heiko Carstens
2013-02-07 10:37   ` Jiri Kosina
2013-02-06 16:23 ` [PATCH 08/15] drivers/misc/cb710: add missing GENERIC_HARDIRQS dependency Heiko Carstens
2013-02-08 20:23   ` Greg KH
2013-02-08 20:23     ` Greg KH
2013-02-06 16:23 ` [PATCH 09/15] drivers/media: add missing GENERIC_HARDIRQS dependencies Heiko Carstens
2013-02-07 14:01   ` Mauro Carvalho Chehab
2013-02-06 16:23 ` [PATCH 10/15] drivers/net,AT91RM9200: add missing GENERIC_HARDIRQS dependency Heiko Carstens
2013-02-06 21:12   ` David Miller
2013-02-06 16:23 ` [PATCH 11/15] drivers/spi: add missing GENERIC_HARDIRQS dependencies Heiko Carstens
2013-02-06 16:24 ` [PATCH 12/15] sound: add missing HAS_IOPORT and " Heiko Carstens
2013-02-06 17:05   ` Takashi Iwai
2013-02-07  1:13     ` Arnd Bergmann
2013-02-06 17:26       ` Takashi Iwai
2013-02-06 18:12         ` Heiko Carstens
2013-02-06 21:56           ` Arnd Bergmann
2013-02-07 13:32             ` Heiko Carstens
2013-02-07 13:36               ` Arnd Bergmann
2013-02-07 13:39               ` Takashi Iwai
2013-02-13 21:34             ` Dmitry Torokhov
2013-02-06 16:24 ` [PATCH 13/15] drivers/usb: add missing " Heiko Carstens
2013-02-06 16:24 ` [PATCH 14/15] drivers/power,goldfisch battery: add missing GENERIC_HARDIRQS dependency Heiko Carstens
2013-02-16 21:24   ` Anton Vorontsov
2013-02-06 16:24 ` [PATCH 15/15] drivers/serial: add " Heiko Carstens

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.