Skip to contentSkip to conversation

include/linux/i2c-sysfs.h: i2c sensor_device_attribute and macros

PATCH In review Yani Ioannou 2 participants 4 messages May 17, 2005 – May 19, 2005

lore
Share & tools
lore
#0 lore raw

PATCH 14/15 include/linux/i2c-sysfs.h: i2c sensor_device_attribute and macros

This patch creates a new header with a potential standard i2c sensor attribute type (which simply includes an int representing the sensor number/index) and the associated macros, SENSOR_DEVICE_ATTR to define a static attribute and to_sensor_dev_attr to get a sensor_device_attribute reference from an embedded device_attribute reference.

Please see the next patch to see how these can be used.

---

 i2c-sysfs.h |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+)
include/linux/i2c-sysfs.h +37 -0
diff -uprN -X dontdiff linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/include/linux/i2c-sysfs.h linux-2.6.12-rc4-sysfsdyncallback-deviceattr-i2c/include/linux/i2c-sysfs.h
@@ -0,0 +1,37 @@
+/*
+ *  i2c-sysfs.h - i2c chip driver sysfs defines
+ *
+ *  Copyright (C) 2005 Yani Ioannou <[email protected]>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+#ifndef _LINUX_I2C_SYSFS_H
+#define _LINUX_I2C_SYSFS_H
+
+struct sensor_device_attribute{
+	struct device_attribute dev_attr;
+	int index;
+};
+
+#define to_sensor_dev_attr(_dev_attr) \
+container_of(_dev_attr, struct sensor_device_attribute, dev_attr)
+
+#define SENSOR_DEVICE_ATTR(_name,_mode,_show,_store,_index)	\
+struct sensor_device_attribute sensor_dev_attr_##_name = {	\
+	.dev_attr=__ATTR(_name,_mode,_show,_store),		\
+	.index_index,						\
+}
+
+#endif /* _LINUX_I2C_SYSFS_H */
#1 lore raw

Oops..I caught this simple typo while compile testing the adm1026 patch with everything, but it looks like I forgot to update the patch, here is the corrected version (just adding the missing '=' ):

Yani

Quoted 7 lines · Yani Ioannou

This patch creates a new header with a potential standard i2c sensor attribute type (which simply includes an int representing the sensor number/index) and the associated macros, SENSOR_DEVICE_ATTR to define a static attribute and to_sensor_dev_attr to get a sensor_device_attribute reference from an embedded device_attribute reference.

Quoted 8 lines

Please see the next patch to see how these can be used.

---

 i2c-sysfs.h |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+)
include/linux/i2c-sysfs.h +37 -0
diff -uprN -X dontdiff linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/include/linux/i2c-sysfs.h linux-2.6.12-rc4-sysfsdyncallback-deviceattr-i2c/include/linux/i2c-sysfs.h
@@ -0,0 +1,37 @@
+/*
+ *  i2c-sysfs.h - i2c chip driver sysfs defines
+ *
+ *  Copyright (C) 2005 Yani Ioannou <[email protected]>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+#ifndef _LINUX_I2C_SYSFS_H
+#define _LINUX_I2C_SYSFS_H
+
+struct sensor_device_attribute{
+	struct device_attribute dev_attr;
+	int index;
+};
+
+#define to_sensor_dev_attr(_dev_attr) \
+container_of(_dev_attr, struct sensor_device_attribute, dev_attr)
+
+#define SENSOR_DEVICE_ATTR(_name,_mode,_show,_store,_index)	\
+struct sensor_device_attribute sensor_dev_attr_##_name = {	\
+	.dev_attr=__ATTR(_name,_mode,_show,_store),		\
+	.index=_index,						\
+}
+
+#endif /* _LINUX_I2C_SYSFS_H */
#2 lore raw

[lm-sensors] Re: [PATCH 2.6.12-rc4 14/15]

Hi,
I am joined as reseach scholar and going to work in the feild of wireless technology in sensors with use of linux OS. Can someone suggest me good material for tutorial on linux kernel and implementation of wireless technology in linux middleware

Quoted 28 lines · Yani Ioannou

Oops..I caught this simple typo while compile testing the adm1026 patch with everything, but it looks like I forgot to update the patch, here is the corrected version (just adding the missing '=' ):

Yani

Quoted 15 lines · Yani Ioannou

This patch creates a new header with a potential standard i2c sensor attribute type (which simply includes an int representing the sensor number/index) and the associated macros, SENSOR_DEVICE_ATTR to define a static attribute and to_sensor_dev_attr to get a sensor_device_attribute reference from an embedded device_attribute reference.

Please see the next patch to see how these can be used.

---

Signature · 17 lines
thanks and regards
Raj Gupta

M.S. Research Scholar,
Residence, Distributed and Object Systems Lab.,
545 Sector 15 - I , Department of CS & E,
Gurgaon - 122001, INDIA IIT Madras, Chennai - 600036,
Ph: +91-124-2301918 Tamil Nadu, INDIA
9840623332 Ph: x5343 (Lab) 
Email: [email protected] Email: [email protected]

"Some things you just don't talk about | Hold on tight and pray for the best 
"
_______________________________________________
lm-sensors mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
#3 lore raw

You will want to start a new thread (change the subject line) since this post is completely unrelated to the patch it references.

As for your question I'm probably not the best person to ask, about those topics, but if you are looking for a kernel reference
http://lxr.linux.no/ is invaluable. Linux Device Drivers 3 looks like a good reference for driver coding too, I just bought it. Greg KH would certainly recommend it to you since he is a co-author ;-).

Good luck,
Yani

Quoted 55 lines · Raj Gupta

Hi,
I am joined as reseach scholar and going to work in the feild of wireless technology in sensors with use of linux OS. Can someone suggest me good material for tutorial on linux kernel and implementation of wireless technology in linux middleware

Quoted 5 lines · Yani Ioannou

Oops..I caught this simple typo while compile testing the adm1026 patch with everything, but it looks like I forgot to update the patch, here is the corrected version (just adding the missing '=' ):

Quoted 23 lines

Yani

Quoted 15 lines · Yani Ioannou

This patch creates a new header with a potential standard i2c sensor attribute type (which simply includes an int representing the sensor number/index) and the associated macros, SENSOR_DEVICE_ATTR to define a static attribute and to_sensor_dev_attr to get a sensor_device_attribute reference from an embedded device_attribute reference.

Please see the next patch to see how these can be used.

---

--
thanks and regards
Raj Gupta

M.S. Research Scholar,
Residence, Distributed and Object Systems Lab., 545 Sector 15 - I , Department of CS & E, Gurgaon - 122001, INDIA IIT Madras, Chennai - 600036,
Ph: +91-124-2301918 Tamil Nadu, INDIA
9840623332 Ph: x5343 (Lab)
Email: [email protected] Email: [email protected]

"Some things you just don't talk about | Hold on tight and pray for the best "
_______________________________________________
lm-sensors mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors