diff mbox

Input: TPS6507X - define MFD dependencies for touch and regulator unit

Message ID 4E1AD56B.6080306@visionsystems.de (mailing list archive)
State New, archived
Headers show

Commit Message

Yegor Yefremov July 11, 2011, 10:50 a.m. UTC
both touchscreen and regulator units are only working if
mfd device is activated. So if mfd support is enabled,
select TPS6507X mfd support automatically.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
---
 drivers/input/touchscreen/Kconfig |    3 ++-
 drivers/regulator/Kconfig         |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Mark Brown July 11, 2011, 12:20 p.m. UTC | #1
On Mon, Jul 11, 2011 at 12:50:19PM +0200, Yegor Yefremov wrote:
> both touchscreen and regulator units are only working if
> mfd device is activated. So if mfd support is enabled,
> select TPS6507X mfd support automatically.
> 
> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>

This should be split into separate patches and sent to *all* the
relevant maintainers.

>  config TOUCHSCREEN_TPS6507X
>  	tristate "TPS6507x based touchscreens"
> -	depends on I2C
> +	depends on I2C && MFD_SUPPORT
> +	select TPS6507X

This isn't a good fix, the driver should depend on the MFD core not
select it.
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Dmitry Torokhov July 11, 2011, 4:41 p.m. UTC | #2
On Mon, Jul 11, 2011 at 01:20:04PM +0100, Mark Brown wrote:
> On Mon, Jul 11, 2011 at 12:50:19PM +0200, Yegor Yefremov wrote:
> > both touchscreen and regulator units are only working if
> > mfd device is activated. So if mfd support is enabled,
> > select TPS6507X mfd support automatically.
> > 
> > Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
> 
> This should be split into separate patches and sent to *all* the
> relevant maintainers.
> 
> >  config TOUCHSCREEN_TPS6507X
> >  	tristate "TPS6507x based touchscreens"
> > -	depends on I2C
> > +	depends on I2C && MFD_SUPPORT
> > +	select TPS6507X
> 
> This isn't a good fix, the driver should depend on the MFD core not
> select it.

The problem with such dependencies is that user has to first enable MFD
core and then hunt through all other menus in search of the function
drivers for that chip...

Depending on what other things TPS6507X depends on it might be good idea
to go ahead and select it.
Mark Brown July 11, 2011, 10:33 p.m. UTC | #3
On Mon, Jul 11, 2011 at 09:41:24AM -0700, Dmitry Torokhov wrote:
> On Mon, Jul 11, 2011 at 01:20:04PM +0100, Mark Brown wrote:

> > This isn't a good fix, the driver should depend on the MFD core not
> > select it.

> The problem with such dependencies is that user has to first enable MFD
> core and then hunt through all other menus in search of the function
> drivers for that chip...

> Depending on what other things TPS6507X depends on it might be good idea
> to go ahead and select it.

If this is an issue it's going to be much more useful to have the boards
select their MFD cores than have random function drivers do that, in
most situations it's not actually going to be useful to select the core
driver as the core driver itself needs something to select either the
I2C or SPI bus interface for the device in order to actually communicate
with it.

Remember that this is for embedded systems where the user will normally
have a pretty good idea what's on their system, someone will have had to
explicitly plumb the device into the board anyway.
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Yegor Yefremov July 12, 2011, 8:23 a.m. UTC | #4
Am 12.07.2011 00:33, schrieb Mark Brown:
> On Mon, Jul 11, 2011 at 09:41:24AM -0700, Dmitry Torokhov wrote:
>> On Mon, Jul 11, 2011 at 01:20:04PM +0100, Mark Brown wrote:
>>> This isn't a good fix, the driver should depend on the MFD core not
>>> select it.
>> The problem with such dependencies is that user has to first enable MFD
>> core and then hunt through all other menus in search of the function
>> drivers for that chip...
>> Depending on what other things TPS6507X depends on it might be good idea
>> to go ahead and select it.
> If this is an issue it's going to be much more useful to have the boards
> select their MFD cores than have random function drivers do that, in
> most situations it's not actually going to be useful to select the core
> driver as the core driver itself needs something to select either the
> I2C or SPI bus interface for the device in order to actually communicate
> with it.
>
> Remember that this is for embedded systems where the user will normally
> have a pretty good idea what's on their system, someone will have had to
> explicitly plumb the device into the board anyway.

The reason for the patch was following. I have a custom board, that is very close to some other board except of this PMIC (TPS650732). So I copied the platform code from the second board, but  not the configuration. Then I activated the touchscreen driver and wondered, why on earth i2c driver doesn't see this device? At last I found out, that this driver depends on MFD driver and so I made this patch to avoid this situation in the future.

Yegor
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

Index: b/drivers/input/touchscreen/Kconfig
===================================================================
--- a/drivers/input/touchscreen/Kconfig
+++ b/drivers/input/touchscreen/Kconfig
@@ -716,7 +716,8 @@ 
 
 config TOUCHSCREEN_TPS6507X
 	tristate "TPS6507x based touchscreens"
-	depends on I2C
+	depends on I2C && MFD_SUPPORT
+	select TPS6507X
 	help
 	  Say Y here if you have a TPS6507x based touchscreen
 	  controller.
Index: b/drivers/regulator/Kconfig
===================================================================
--- a/drivers/regulator/Kconfig
+++ b/drivers/regulator/Kconfig
@@ -242,7 +242,8 @@ 
 
 config REGULATOR_TPS6507X
 	tristate "TI TPS6507X Power regulators"
-	depends on I2C
+	depends on I2C && MFD_SUPPORT
+	select TPS6507X
 	help
 	  This driver supports TPS6507X voltage regulator chips. TPS6507X provides
 	  three step-down converters and two general-purpose LDO voltage regulators.