Commit Graph
10 Commits
Author SHA1 Message Date
Mark D. Studebaker 16f4429f8c (mds)
On 5/1/05, Sergey Vlasov <vsu@altlinux.ru> wrote:

>> Hello!
>>
>> http://openipmi.sourceforge.net/ provides patches for 2.4.x kernels
>> with updated IPMI code.  However, these patches change the IPMI driver
>> API by adding an additional argument to ipmi_request():
>>
>>  int ipmi_request(ipmi_user_t      user,
>>                  struct ipmi_addr *addr,
>>                  long             msgid,
>>                  struct ipmi_msg  *msg,
>> +                void             *user_msg_data,
>>                  int              priority);
>>
>> (user_msg_data is later returned in the struct ipmi_recv_msg field).
>> This API change breaks compilation of some lm_sensors drivers
>> (i2c-ipmb, i2c-ipmi).
>>
>> The patch below adds compatibility with the new IPMI API to i2c-ipmb
>> and i2c-ipmi drivers.  <linux/ipmi.h> does not provide a real
>> API-version #define, therefore IPMI_RESPONSE_RESPONSE_TYPE (also added
>> by the openipmi.sf.net patch) is (ab)used as a new API indicator.
>>
>> Compile tested only due to lack of hardware.

(Yani I.):

Hi Sergey,

Actually there was a patch to the 2.6 i2c-ipmi/bmcsensors for this
problem (after Bene Martin notified me of the problem and how to fix
it), but from what I understand Corey re-included the ipmi_request
method in the next version once he learned of a driver using it (it
was removed because there was thought to be no usage). He was eager to
learn when bmcsensors would make it into the kernel so that he could
stop being nagged by the 'unused function police' as he put it .

It might be wise to apply a patch like this in 2.4 to support the
openipmi that went 'wrong', I changed the 2.6 driver to use the
ipmi_request_settime function to no ill effect, but you should
consider that Corey notes that it is preferred to use the old one:

(extract from some e-mail between Corey, Martin and I about the problem):


>>>>>>Interestingly enough the ipmi_request_settime still has a comment in
>>>>>>the header "Don't use this unless you *really* have to.", making me
>>>>>>wonder if there is a reason not to be using it instead of ipmi_request
>>>>>>if its re-incorporated into the kernel.
>>>>>>
>>>>>>
>>
>>>>
>>>>I guess the only one qualified to answer that one would be corey.
>>>>
>>>>Bye, Martin
>>>>
>>>>
>
>>You wouldn't generally use it because it sets the timeouts and for most
>>purposes the timeouts are defined by the spec (sort of).
>>
>>Do you have any feeling when the BMC sensors package will go into the
>>mainstream kernel?  That would be the time to coordinate adding the
>>normal function back in so I'm not constantly fighting the unused
>>function police.
>>
>>-Corey


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@2987 7894878c-1315-0410-8ee3-d5d059ff63e0
2005-05-04 20:21:01 +00:00
Jean Delvare a37fd5f9d2 Fix bogus return in a middle of a function. Patch by Sergio
Gelato.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@2884 7894878c-1315-0410-8ee3-d5d059ff63e0
2005-01-31 18:13:33 +00:00
Jean Delvare a223ec0fd5 Remove owner from i2c_adapter, restore inc_use and dec_use
instead.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@2772 7894878c-1315-0410-8ee3-d5d059ff63e0
2004-11-25 21:51:18 +00:00
Mark D. Studebaker cf3e2b8cef remove unused variables
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@2483 7894878c-1315-0410-8ee3-d5d059ff63e0
2004-04-27 01:11:32 +00:00
Mark D. Studebaker 27655c241f add back i2c_xxxx_func prototypes inadvertently removed which prevented compile
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1721 7894878c-1315-0410-8ee3-d5d059ff63e0
2003-03-17 01:39:57 +00:00
Kyosti Malkki 39391ba6ea (Kyösti) some cleanups for 2.4+
Module refcounting using .owner, removing of inc/dec_use.
   These require (yet unreleased) i2c 2.8.0+.

   Named initializers everywhere. Unified namespace.

   Cleanup for 2.5, remove EXPORT_NO_SYMBOLS, declare everything
   static. Apply initcalls.

   PCI device registration changes for busses started, replicating
   from i2c-amd*. While everything does compile, nothing really
   works. Well, maybe i2c-amd* ported back from 2.5 tree.

   After updating your work directory, run
    > cvs diff -u -r LAST-PRE-2-8-I2C > lm-2.8-patches-1

   BEWARE: I have not even insmoded any of these yet.

   To compile, you need i2c from cvs too.
   For 2.4 kernel :
    > cvs co -r lk2-4 i2c

   For 2.5 kernel :
    > cvs co i2c


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1698 7894878c-1315-0410-8ee3-d5d059ff63e0
2003-01-17 01:19:52 +00:00
Mark D. Studebaker 5d2f13b9c3 support multiple clients; guard against clients vanishing
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1634 7894878c-1315-0410-8ee3-d5d059ff63e0
2002-11-21 01:32:35 +00:00
Mark D. Studebaker e1d2d03e8e #ifdef the error printk
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1625 7894878c-1315-0410-8ee3-d5d059ff63e0
2002-11-19 20:13:25 +00:00
Mark D. Studebaker d999488cd1 BMC cleanup
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1615 7894878c-1315-0410-8ee3-d5d059ff63e0
2002-11-16 19:40:06 +00:00
Mark D. Studebaker 7bcd435c4c initial checkin IPMI/BMC support
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1593 7894878c-1315-0410-8ee3-d5d059ff63e0
2002-11-10 19:52:44 +00:00