Re: [PATCH] power_supply: only register tosa_battery driver on tosa

Dmitry
2008-11-03T17:09:24Z

2008/11/3 Anton Vorontsov <avorontsov@ru.mvista.com>:
> On Mon, Nov 03, 2008 at 07:41:47PM +0300, Dmitry wrote:
> [...]
>> >> >> diff --git a/drivers/power/tosa_battery.c b/drivers/power/tosa_battery.c
>> >> >> index 2eab35a..4e52c22 100644
>> >> >> --- a/drivers/power/tosa_battery.c
>> >> >> +++ b/drivers/power/tosa_battery.c
>> >> >> @@ -469,6 +469,9 @@ static struct platform_driver tosa_bat_driver = {
>> >> >>
>> >> >> static int __init tosa_bat_init(void)
>> >> >> {
>> >> >> + if (!machine_is_tosa())
>> >> >> + return -EINVAL;
>> >> >> +
>> >> >
>> >> > I tend to reject this approach. You should rename the driver instead.
>> >> >
>> >> > I.e.
>> >> > -.driver.name = "wm97xx-battery",
>> >> > -.driver.name = "tosa-battery",
>> >> >
>> >> > And make sure that this won't break users of that driver (though
>> >> > I don't see any).
>> >>
>> >> The wm97xx-battery device is registered by
>> >> drivers/input/toucscreen/wm97xx-core.c
>> >
>> > Hmm.. So you can't rename the tosa driver, because then it won't
>> > work, correct?
>>
>> Yup.
>> I see few ways to resolve this:
>> * write better wm97xx interface. Dunno if that is feasible or possible.
>> One of the possible solutions is to pass battery and ts device names
>> and data from within board data via ac97 layer to wm97xx-core. This
>> will provide several benefits (e.g. then we can drop lots of parameters
>> from wm97xx-core, which are really board parameters).
>
> That would be great indeed. But for now, just don't compile the two
> drivers on the tosa platform. No need for machine_is_*() hacks...

That is a bit strange requirement. During several past months there was
a lot of efforts put into supporting multi-machine PXA kernel images. And
this requirement goes against this.

--
With best wishes
Dmitry