mfd: Allow touchscreen to be disabled on wm831x devices
Allow platform data to flag the touchscreen as disabled so that if the touch driver is built in we don't end up causing lots of work by spuriously detecting touchscreen activity on systems where it isn't in use. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
这个提交包含在:
@@ -1124,11 +1124,6 @@ static struct mfd_cell wm8311_devs[] = {
|
||||
.num_resources = ARRAY_SIZE(wm831x_status2_resources),
|
||||
.resources = wm831x_status2_resources,
|
||||
},
|
||||
{
|
||||
.name = "wm831x-touch",
|
||||
.num_resources = ARRAY_SIZE(wm831x_touch_resources),
|
||||
.resources = wm831x_touch_resources,
|
||||
},
|
||||
{
|
||||
.name = "wm831x-watchdog",
|
||||
.num_resources = ARRAY_SIZE(wm831x_wdt_resources),
|
||||
@@ -1285,11 +1280,6 @@ static struct mfd_cell wm8312_devs[] = {
|
||||
.num_resources = ARRAY_SIZE(wm831x_status2_resources),
|
||||
.resources = wm831x_status2_resources,
|
||||
},
|
||||
{
|
||||
.name = "wm831x-touch",
|
||||
.num_resources = ARRAY_SIZE(wm831x_touch_resources),
|
||||
.resources = wm831x_touch_resources,
|
||||
},
|
||||
{
|
||||
.name = "wm831x-watchdog",
|
||||
.num_resources = ARRAY_SIZE(wm831x_wdt_resources),
|
||||
@@ -1428,6 +1418,15 @@ static struct mfd_cell wm8320_devs[] = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct mfd_cell touch_devs[] = {
|
||||
{
|
||||
.name = "wm831x-touch",
|
||||
.num_resources = ARRAY_SIZE(wm831x_touch_resources),
|
||||
.resources = wm831x_touch_resources,
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
static struct mfd_cell backlight_devs[] = {
|
||||
{
|
||||
.name = "wm831x-backlight",
|
||||
@@ -1624,12 +1623,20 @@ int wm831x_device_init(struct wm831x *wm831x, unsigned long id, int irq)
|
||||
ret = mfd_add_devices(wm831x->dev, wm831x_num,
|
||||
wm8311_devs, ARRAY_SIZE(wm8311_devs),
|
||||
NULL, wm831x->irq_base);
|
||||
if (!pdata || !pdata->disable_touch)
|
||||
mfd_add_devices(wm831x->dev, wm831x_num,
|
||||
touch_devs, ARRAY_SIZE(touch_devs),
|
||||
NULL, wm831x->irq_base);
|
||||
break;
|
||||
|
||||
case WM8312:
|
||||
ret = mfd_add_devices(wm831x->dev, wm831x_num,
|
||||
wm8312_devs, ARRAY_SIZE(wm8312_devs),
|
||||
NULL, wm831x->irq_base);
|
||||
if (!pdata || !pdata->disable_touch)
|
||||
mfd_add_devices(wm831x->dev, wm831x_num,
|
||||
touch_devs, ARRAY_SIZE(touch_devs),
|
||||
NULL, wm831x->irq_base);
|
||||
break;
|
||||
|
||||
case WM8320:
|
||||
|
在新工单中引用
屏蔽一个用户