From: jchapman@katalix.com (James Chapman)
To: Jean Delvare <khali@linux-fr.org>, Ladislav Michl <ladis@linux-mips.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
LM Sensors <sensors@Stimpy.netroedge.com>,
Greg KH <greg@kroah.com>
Subject: [PATCH] ds1337 4/4
Date: Thu, 19 May 2005 06:25:50 +0000 [thread overview]
Message-ID: <425C0F2F.2000807@katalix.com> (raw)
In-Reply-To: <20050410231006.0469a472.khali@linux-fr.org>
Jean Delvare wrote:
>>Based on your and Jean's input, following so far sounds reasonable:
>>Create "charge" sysfs entry for ds1339 when it is detected. Do not
>>write any value to Trickle Charge register, until its value is written
>>to this entry.
>
> While I admit I had this in mind in the first place, the more I think of
> it and the less I like it. It's slightly better than changing the
> charging rate right when loading the driver, but that's still dangerous.
> Users could write a value which doesn't match the hardware design, and
> bad things could happen.
I had assumed Ladislav wanted to be able to change this charge rate at
any time, which was the motivation behind adding ds1339 support.
>>How are you using this driver? There is non-static function
>>ds1337_do_command which expects id. How do you know which id belongs
>>to which chip?
>
> I second this question, as it stroke me too. This function doesn't sound
> exactly usable to me. Identifying the device by bus and address would
> make more sense than an arbitrary id you have no way to learn about.
It is used by the Radstone ppc7d platform, arch/ppc/radstone_ppc7d.c
but wasn't added until very recently (2.6.12-rc2 I think).
To be honest, I meant to remove the 'id' thing before submitting the
driver. There's no need to support more than one of these devices.
>>Do you actually have machine with more than one ds1337?
>>Chip has fixed address, so only one can hang on one bus (am I right?)
>
> You are.
Yep. I think the id should be removed asap.
> Back to the issue, some random thoughts summarizing my opinion:
>
> 1* Initializing the battery charge register is a firmware/bios issue, as
> you underlined earlier. It would make sense (and would be easier) to
> just ignore it at the driver level.
Initializing the charge register should be done by the bios if possible.
However, I assume Ladislav still wants to be able to change the register
at runtime so some kernel support is needed?
> 2* If it makes sense to stop the charge, then we should provide a simple
> *switch* to the user, from the default charging register value (as
> previously set by the firmware/bios) to 0 and back. The switch would
> probably be a sysfs file unless a different API already exists.
>
> 3* Having the driver write an arbitrary non-0 value to the register
> should not be done unless the system has been identified. I have no idea
> how your system can be identified (DMI?), but if it can't, then I'd
> better see the register ignored altogether.
>
> 4* Remember that you can always write a simple C tool relying on the
> i2c-dev interface to do the job. The advantage of this approach is that
> you can put big fat warnings and request user confirmation before any
> action.
This makes sense. Ladislav, would this work for you? I guess we'd still
add code to the ds1337 driver to detect ds1339 in order to ensure that
this tool could not modify register 0 of a ds1337 by accident?
/james
WARNING: multiple messages have this Message-ID (diff)
From: James Chapman <jchapman@katalix.com>
To: Jean Delvare <khali@linux-fr.org>, Ladislav Michl <ladis@linux-mips.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
LM Sensors <sensors@Stimpy.netroedge.com>,
Greg KH <greg@kroah.com>
Subject: Re: [PATCH] ds1337 4/4
Date: Tue, 12 Apr 2005 19:10:55 +0100 [thread overview]
Message-ID: <425C0F2F.2000807@katalix.com> (raw)
In-Reply-To: <20050410231006.0469a472.khali@linux-fr.org>
Jean Delvare wrote:
>>Based on your and Jean's input, following so far sounds reasonable:
>>Create "charge" sysfs entry for ds1339 when it is detected. Do not
>>write any value to Trickle Charge register, until its value is written
>>to this entry.
>
> While I admit I had this in mind in the first place, the more I think of
> it and the less I like it. It's slightly better than changing the
> charging rate right when loading the driver, but that's still dangerous.
> Users could write a value which doesn't match the hardware design, and
> bad things could happen.
I had assumed Ladislav wanted to be able to change this charge rate at
any time, which was the motivation behind adding ds1339 support.
>>How are you using this driver? There is non-static function
>>ds1337_do_command which expects id. How do you know which id belongs
>>to which chip?
>
> I second this question, as it stroke me too. This function doesn't sound
> exactly usable to me. Identifying the device by bus and address would
> make more sense than an arbitrary id you have no way to learn about.
It is used by the Radstone ppc7d platform, arch/ppc/radstone_ppc7d.c
but wasn't added until very recently (2.6.12-rc2 I think).
To be honest, I meant to remove the 'id' thing before submitting the
driver. There's no need to support more than one of these devices.
>>Do you actually have machine with more than one ds1337?
>>Chip has fixed address, so only one can hang on one bus (am I right?)
>
> You are.
Yep. I think the id should be removed asap.
> Back to the issue, some random thoughts summarizing my opinion:
>
> 1* Initializing the battery charge register is a firmware/bios issue, as
> you underlined earlier. It would make sense (and would be easier) to
> just ignore it at the driver level.
Initializing the charge register should be done by the bios if possible.
However, I assume Ladislav still wants to be able to change the register
at runtime so some kernel support is needed?
> 2* If it makes sense to stop the charge, then we should provide a simple
> *switch* to the user, from the default charging register value (as
> previously set by the firmware/bios) to 0 and back. The switch would
> probably be a sysfs file unless a different API already exists.
>
> 3* Having the driver write an arbitrary non-0 value to the register
> should not be done unless the system has been identified. I have no idea
> how your system can be identified (DMI?), but if it can't, then I'd
> better see the register ignored altogether.
>
> 4* Remember that you can always write a simple C tool relying on the
> i2c-dev interface to do the job. The advantage of this approach is that
> you can put big fat warnings and request user confirmation before any
> action.
This makes sense. Ladislav, would this work for you? I guess we'd still
add code to the ds1337 driver to detect ds1339 in order to ensure that
this tool could not modify register 0 of a ds1337 by accident?
/james
next prev parent reply other threads:[~2005-05-19 6:25 UTC|newest]
Thread overview: 158+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-31 23:22 [BK PATCH] I2C patches for 2.6.12-rc1 Greg KH
2005-03-31 23:23 ` [PATCH] i2c/i2c-ite: remove interruptible_sleep_on_timeout() usage Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] i2c/i2c-elektor: " Greg KH
2005-05-19 6:25 ` [PATCH] i2c/i2c-elektor: remove interruptible_sleep_on_timeout() Greg KH
2005-03-31 23:23 ` [PATCH] I2C: New lm92 chip driver Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: Cleanup adm1021 unused defines Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: Fix adm1021 alarms mask Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: Kill unused struct members in w83627hf driver Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: Make master_xfer debug messages more useful Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: Skip broken detection step in it87 Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: group Intel on I2C Hardware Bus support Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] i2c: new driver for ds1337 RTC Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] i2c: add adt7461 chip support to lm90 driver Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: Clean up of i2c-elektor.c build Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: Fix breakage in m41t00 i2c rtc driver Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: Fix some i2c algorithm initialization Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: Kill outdated defines in i2c.h Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: Avoid repeated resets of i2c-viapro Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: Recognize new revision of the ADT7463 chip Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: Fix Vaio EEPROM detection Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: busses documentation update 1 of 2 Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: busses documentation update 2 " Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: lost arbitration detection for PCF8584 Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: lsb in emc6d102 and adm1027 Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: Delete useless instruction in it87 Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: Fix race condition in it87 driver Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: i2c-s3c2410 functionality and fixes Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] i2c: add adt7461 chip support to lm90 driver's Kconfig entry Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: Fix broken force parameter handling Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: Fix indentation of lm87 driver Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] I2C: Drop useless w83781d RT feature Greg KH
2005-05-19 6:25 ` Greg KH
2005-03-31 23:23 ` [PATCH] i2c: i2c-mv64xxx - set adapter owner and class fields Greg KH
2005-05-19 6:25 ` Greg KH
2005-04-07 9:45 ` [PATCH] i2c: new driver for ds1337 RTC Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-04-07 9:59 ` Jean Delvare
2005-05-19 6:25 ` Jean Delvare
2005-04-07 11:16 ` Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-04-07 13:07 ` Jean Delvare
2005-05-19 6:25 ` Jean Delvare
2005-04-07 14:28 ` Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-04-07 21:18 ` Greg KH
2005-05-19 6:25 ` Greg KH
2005-04-07 23:17 ` [PATCH] ds1337 1/4 Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-04-07 23:36 ` Greg KH
2005-05-19 6:25 ` Greg KH
2005-04-08 13:00 ` Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-04-08 16:31 ` James Chapman
2005-05-19 6:25 ` James Chapman
2005-05-02 20:41 ` Greg KH
2005-05-19 6:25 ` Greg KH
2005-04-08 8:49 ` Jean Delvare
2005-05-19 6:25 ` Jean Delvare
2005-04-07 23:18 ` [PATCH] ds1337 2/4 Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-04-08 8:51 ` Jean Delvare
2005-05-19 6:25 ` Jean Delvare
2005-04-08 13:02 ` Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-05-02 20:41 ` Greg KH
2005-05-19 6:25 ` Greg KH
2005-04-07 23:18 ` [PATCH] ds1337 3/4 Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-04-08 10:08 ` Jean Delvare
2005-05-19 6:25 ` Jean Delvare
2005-04-08 13:06 ` Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-05-02 20:41 ` Greg KH
2005-05-19 6:25 ` Greg KH
2005-05-04 6:13 ` [PATCH] ds1337 1/3 Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-05-04 8:41 ` Jean Delvare
2005-05-19 6:25 ` Jean Delvare
2005-05-04 6:13 ` [PATCH] ds1337 2/3 Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-05-04 9:44 ` Jean Delvare
2005-05-19 6:25 ` Jean Delvare
2005-05-04 6:14 ` [PATCH] ds1337 3/3 Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-05-04 10:07 ` Jean Delvare
2005-05-19 6:25 ` Jean Delvare
2005-05-10 12:08 ` [PATCH] ds1337 driver works also with ds1339 chip Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-05-10 12:40 ` Jean Delvare
2005-05-19 6:25 ` Jean Delvare
2005-05-10 12:48 ` Russell King
2005-05-19 6:25 ` Russell King
[not found] ` <1DTwF8-18P-00@press.kroah.org>
[not found] ` <20050508204021.627f9cd1.khali@linux-fr.org>
[not found] ` <427E6E21.60001@katalix.com>
[not found] ` <20050508222351.08bfe2e1.khali@linux-fr.org>
2005-05-10 12:18 ` [PATCH] ds1337: export ds1337_do_command Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-05-10 12:51 ` Jean Delvare
2005-05-19 6:25 ` Jean Delvare
2005-05-10 17:55 ` Greg KH
2005-05-19 6:25 ` Greg KH
2005-05-10 18:36 ` Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-05-10 20:30 ` Greg KH
2005-05-19 6:25 ` Greg KH
2005-05-11 8:32 ` Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-04-07 23:19 ` [PATCH] ds1337 4/4 Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-04-08 11:08 ` Jean Delvare
2005-05-19 6:25 ` Jean Delvare
2005-04-08 12:35 ` Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-04-08 16:21 ` Jean Delvare
2005-05-19 6:25 ` Jean Delvare
2005-04-08 17:44 ` James Chapman
2005-05-19 6:25 ` James Chapman
2005-04-10 19:51 ` Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-04-10 21:10 ` Jean Delvare
2005-05-19 6:25 ` Jean Delvare
2005-04-12 18:10 ` James Chapman [this message]
2005-05-19 6:25 ` James Chapman
2005-04-13 11:04 ` Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-04-13 19:02 ` James Chapman
2005-05-19 6:25 ` James Chapman
2005-04-13 19:48 ` Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
2005-05-19 6:25 ` Jean Delvare
2005-04-07 21:29 ` [PATCH] i2c: new driver for ds1337 RTC Jean Delvare
2005-05-19 6:25 ` Jean Delvare
2005-04-07 23:16 ` Ladislav Michl
2005-05-19 6:25 ` Ladislav Michl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=425C0F2F.2000807@katalix.com \
--to=jchapman@katalix.com \
--cc=greg@kroah.com \
--cc=khali@linux-fr.org \
--cc=ladis@linux-mips.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sensors@Stimpy.netroedge.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.