[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130801130857.GA3413@kahuna>
Date: Thu, 1 Aug 2013 08:08:58 -0500
From: Nishanth Menon <nm@...com>
To: Bill Huang <bilhuang@...dia.com>
CC: "sameo@...ux.intel.com" <sameo@...ux.intel.com>,
"rob.herring@...xeda.com" <rob.herring@...xeda.com>,
"pawel.moll@....com" <pawel.moll@....com>,
"mark.rutland@....com" <mark.rutland@....com>,
"swarren@...dotorg.org" <swarren@...dotorg.org>,
"ian.campbell@...rix.com" <ian.campbell@...rix.com>,
"rob@...dley.net" <rob@...dley.net>,
"lee.jones@...aro.org" <lee.jones@...aro.org>,
"broonie@...aro.org" <broonie@...aro.org>,
"j-keerthy@...com" <j-keerthy@...com>,
"grant.likely@...aro.org" <grant.likely@...aro.org>,
"ian@...mlogic.co.uk" <ian@...mlogic.co.uk>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Mallikarjun Kasoju <mkasoju@...dia.com>
Subject: Re: [PATCH v2 1/1] mfd: palmas: Add power off control
On 04:08-20130801, Bill Huang wrote:
> On Wed, 2013-07-31 at 19:57 +0800, Nishanth Menon wrote:
> >
> > If you notice the reference code I send, atleast on TWL6035/37 variants
> > of Palmas, USB IRQ unmask is mandatory for power on with USB cable -
> > example usage scenario: extremely low battery, device powered off, plug
> > in usb cable to restart charging - you'd like to initiate charging logic
> > in bootloader, but that wont work if the device does not do OFF-ON
> > transition with usb cable plugged in for vbus.
> >
> Why do we need to add Palmas USB_IRQ unmask logic in shutdown? Does that
> mean for all platform using Palmas has to unmask USB IRQ (including
> those do not power vbus through Palmas)? Can't we just have a simple
> shutdown function but have the VBus programming been done in USB driver
> or maybe platform driver since it is platform specific control?
we dont have a irq cleanup, irq handling is done in palmas-mfd. Further,
Why would USB driver care about vbus supply needs in complete power off
- it is the job of palmas driver? Further, palmas-mfd shutdown
handler(currently missing) if probably cleansup things:
mfd_remove_devices(palmas->dev);
palmas_irq_exit(palmas);
shutdown sequence becomes complicated further esp if things are
cleanedup in shutdown (Dummy patch[1]).
All I am saying is this: shutdown should allow powerup functionality to
work as well, how we do that is upto us - I personally found it a little
easier to keep the IRQ unmask in shutdown easier to deal with, but other
options might be possible as well.
[1]
diff --git a/drivers/mfd/palmas.c b/drivers/mfd/palmas.c
index e4d1c70..6998863 100644
--- a/drivers/mfd/palmas.c
+++ b/drivers/mfd/palmas.c
@@ -447,6 +447,11 @@ static int palmas_i2c_remove(struct i2c_client *i2c)
return 0;
}
+static void palmas_i2c_shutdown(struct i2c_client *i2c)
+{
+ palmas_i2c_remove(i2c);
+}
+
static const struct i2c_device_id palmas_i2c_id[] = {
{ "palmas", },
{ "twl6035", },
@@ -464,6 +469,7 @@ static struct i2c_driver palmas_i2c_driver = {
},
.probe = palmas_i2c_probe,
.remove = palmas_i2c_remove,
+ .shutdown = palmas_i2c_shutdown,
.id_table = palmas_i2c_id,
};
--
Regards,
Nishanth Menon
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists