> From: Rhyland Klein
> Sent: Wednesday, October 20, 2010 10:52 AM
> To: 'Mark Brown'
> Cc: cboutatmailru@gmail.com; Andrew Chew; olof@lixom.net; linux-
> tegra@vger.kernel.org;
linux-kernel@vger.kernel.org
> Subject: RE: [PATCH 1/1] power: bq24617: Adding initial charger support
>
> > From: Mark Brown [mailto:broonie@opensource.wolfsonmicro.com]
> > Sent: Tuesday, October 19, 2010 8:03 PM
> > To: Rhyland Klein
> > Cc: cboutatmailru@gmail.com; Andrew Chew; olof@lixom.net; linux-
> > tegra@vger.kernel.org;
linux-kernel@vger.kernel.org
> > Subject: Re: [PATCH 1/1] power: bq24617: Adding initial charger support
> >
> > On Tue, Oct 19, 2010 at 07:17:11PM -0700,
rklein@nvidia.com wrote:
> > > From: Rhyland Klein <rklein@nvidia.com>
> > >
> > > Initial checkin adding basic support for the TI BQ24617 battery charger
> > on the
> > > Nvidia Tegra architecture.
> >
> > Why is this driver dependant on the CPU? I can't see anything in the
> > code that makes it so.
>
> In hindsight this isn't the most accurate statement. The driver itself is
> not dependent on the CPU, it is dependent on the platform design, and in
> particular requires the PG line to be piped in through a GPIO. Would it
> make more sense to make the driver dependent on GPIO instead?
>
> >
> > > + if (old_status != -1 &&
> > > + old_status != new_status) {
> > > + dev_dbg(&chip->pdev->dev,
> > > + "%s: %i -> %i\n", __func__, old_status,
> > > + new_status);
> > > + kobject_uevent(&chip->power_supply.dev->kobj, KOBJ_CHANGE);
> >
> > power_supply_changed().
>
> Alright.
>
> >
> > > +static irqreturn_t bq24617_irq_switch(int irq, void *devid)
> > > +{
> > > + struct bq24617_info *chip = devid;
> > > +
> > > + schedule_work(&chip->ac_work);
> > > +
> > > + return IRQ_HANDLED;
> > > +}
> >
> > You're looking for a threaded IRQ handler here - use
> > request_threaded_irq() with no primary handler.
>
> Alright I will look into this.