diff options
-rw-r--r-- | drivers/w1/Kconfig | 60 | ||||
-rw-r--r-- | drivers/w1/Makefile | 10 | ||||
-rw-r--r-- | drivers/w1/masters/Kconfig | 38 | ||||
-rw-r--r-- | drivers/w1/masters/Makefile | 11 | ||||
-rw-r--r-- | drivers/w1/masters/ds_w1_bridge.c (renamed from drivers/w1/ds_w1_bridge.c) | 4 | ||||
-rw-r--r-- | drivers/w1/masters/dscore.c (renamed from drivers/w1/dscore.c) | 4 | ||||
-rw-r--r-- | drivers/w1/masters/dscore.h (renamed from drivers/w1/dscore.h) | 0 | ||||
-rw-r--r-- | drivers/w1/masters/matrox_w1.c (renamed from drivers/w1/matrox_w1.c) | 8 | ||||
-rw-r--r-- | drivers/w1/slaves/Kconfig | 38 | ||||
-rw-r--r-- | drivers/w1/slaves/Makefile | 12 | ||||
-rw-r--r-- | drivers/w1/slaves/w1_ds2433.c (renamed from drivers/w1/w1_ds2433.c) | 8 | ||||
-rw-r--r-- | drivers/w1/slaves/w1_smem.c (renamed from drivers/w1/w1_smem.c) | 10 | ||||
-rw-r--r-- | drivers/w1/slaves/w1_therm.c (renamed from drivers/w1/w1_therm.c) | 14 |
13 files changed, 126 insertions, 91 deletions
diff --git a/drivers/w1/Kconfig b/drivers/w1/Kconfig index 4baf61a22327..5e61ed59a41e 100644 --- a/drivers/w1/Kconfig +++ b/drivers/w1/Kconfig | |||
@@ -11,63 +11,7 @@ config W1 | |||
11 | This W1 support can also be built as a module. If so, the module | 11 | This W1 support can also be built as a module. If so, the module |
12 | will be called wire.ko. | 12 | will be called wire.ko. |
13 | 13 | ||
14 | config W1_MATROX | 14 | source drivers/w1/masters/Kconfig |
15 | tristate "Matrox G400 transport layer for 1-wire" | 15 | source drivers/w1/slaves/Kconfig |
16 | depends on W1 && PCI | ||
17 | help | ||
18 | Say Y here if you want to communicate with your 1-wire devices | ||
19 | using Matrox's G400 GPIO pins. | ||
20 | |||
21 | This support is also available as a module. If so, the module | ||
22 | will be called matrox_w1.ko. | ||
23 | |||
24 | config W1_DS9490 | ||
25 | tristate "DS9490R transport layer driver" | ||
26 | depends on W1 && USB | ||
27 | help | ||
28 | Say Y here if you want to have a driver for DS9490R UWB <-> W1 bridge. | ||
29 | |||
30 | This support is also available as a module. If so, the module | ||
31 | will be called ds9490r.ko. | ||
32 | |||
33 | config W1_DS9490_BRIDGE | ||
34 | tristate "DS9490R USB <-> W1 transport layer for 1-wire" | ||
35 | depends on W1_DS9490 | ||
36 | help | ||
37 | Say Y here if you want to communicate with your 1-wire devices | ||
38 | using DS9490R USB bridge. | ||
39 | |||
40 | This support is also available as a module. If so, the module | ||
41 | will be called ds_w1_bridge.ko. | ||
42 | |||
43 | config W1_THERM | ||
44 | tristate "Thermal family implementation" | ||
45 | depends on W1 | ||
46 | help | ||
47 | Say Y here if you want to connect 1-wire thermal sensors to you | ||
48 | wire. | ||
49 | |||
50 | config W1_SMEM | ||
51 | tristate "Simple 64bit memory family implementation" | ||
52 | depends on W1 | ||
53 | help | ||
54 | Say Y here if you want to connect 1-wire | ||
55 | simple 64bit memory rom(ds2401/ds2411/ds1990*) to you wire. | ||
56 | |||
57 | config W1_DS2433 | ||
58 | tristate "4kb EEPROM family support (DS2433)" | ||
59 | depends on W1 | ||
60 | help | ||
61 | Say Y here if you want to use a 1-wire | ||
62 | 4kb EEPROM family device (DS2433). | ||
63 | |||
64 | config W1_DS2433_CRC | ||
65 | bool "Protect DS2433 data with a CRC16" | ||
66 | depends on W1_DS2433 | ||
67 | select CRC16 | ||
68 | help | ||
69 | Say Y here to protect DS2433 data with a CRC16. | ||
70 | Each block has 30 bytes of data and a two byte CRC16. | ||
71 | Full block writes are only allowed if the CRC is valid. | ||
72 | 16 | ||
73 | endmenu | 17 | endmenu |
diff --git a/drivers/w1/Makefile b/drivers/w1/Makefile index 01fb54391470..0c2aa22d8c04 100644 --- a/drivers/w1/Makefile +++ b/drivers/w1/Makefile | |||
@@ -13,13 +13,5 @@ endif | |||
13 | obj-$(CONFIG_W1) += wire.o | 13 | obj-$(CONFIG_W1) += wire.o |
14 | wire-objs := w1.o w1_int.o w1_family.o w1_netlink.o w1_io.o | 14 | wire-objs := w1.o w1_int.o w1_family.o w1_netlink.o w1_io.o |
15 | 15 | ||
16 | obj-$(CONFIG_W1_MATROX) += matrox_w1.o | 16 | obj-y += masters/ slaves/ |
17 | obj-$(CONFIG_W1_THERM) += w1_therm.o | ||
18 | obj-$(CONFIG_W1_SMEM) += w1_smem.o | ||
19 | 17 | ||
20 | obj-$(CONFIG_W1_DS9490) += ds9490r.o | ||
21 | ds9490r-objs := dscore.o | ||
22 | |||
23 | obj-$(CONFIG_W1_DS9490_BRIDGE) += ds_w1_bridge.o | ||
24 | |||
25 | obj-$(CONFIG_W1_DS2433) += w1_ds2433.o | ||
diff --git a/drivers/w1/masters/Kconfig b/drivers/w1/masters/Kconfig new file mode 100644 index 000000000000..51bd64d0e54d --- /dev/null +++ b/drivers/w1/masters/Kconfig | |||
@@ -0,0 +1,38 @@ | |||
1 | # | ||
2 | # 1-wire bus master configuration | ||
3 | # | ||
4 | |||
5 | menu "1-wire Bus Masters" | ||
6 | depends on W1 | ||
7 | |||
8 | config W1_MASTER_MATROX | ||
9 | tristate "Matrox G400 transport layer for 1-wire" | ||
10 | depends on W1 && PCI | ||
11 | help | ||
12 | Say Y here if you want to communicate with your 1-wire devices | ||
13 | using Matrox's G400 GPIO pins. | ||
14 | |||
15 | This support is also available as a module. If so, the module | ||
16 | will be called matrox_w1.ko. | ||
17 | |||
18 | config W1_MASTER_DS9490 | ||
19 | tristate "DS9490R transport layer driver" | ||
20 | depends on W1 && USB | ||
21 | help | ||
22 | Say Y here if you want to have a driver for DS9490R UWB <-> W1 bridge. | ||
23 | |||
24 | This support is also available as a module. If so, the module | ||
25 | will be called ds9490r.ko. | ||
26 | |||
27 | config W1_MASTER_DS9490_BRIDGE | ||
28 | tristate "DS9490R USB <-> W1 transport layer for 1-wire" | ||
29 | depends on W1_DS9490 | ||
30 | help | ||
31 | Say Y here if you want to communicate with your 1-wire devices | ||
32 | using DS9490R USB bridge. | ||
33 | |||
34 | This support is also available as a module. If so, the module | ||
35 | will be called ds_w1_bridge.ko. | ||
36 | |||
37 | endmenu | ||
38 | |||
diff --git a/drivers/w1/masters/Makefile b/drivers/w1/masters/Makefile new file mode 100644 index 000000000000..d9b84e522d6c --- /dev/null +++ b/drivers/w1/masters/Makefile | |||
@@ -0,0 +1,11 @@ | |||
1 | # | ||
2 | # Makefile for 1-wire bus master drivers. | ||
3 | # | ||
4 | |||
5 | obj-$(CONFIG_W1_MASTER_MATROX) += matrox_w1.o | ||
6 | |||
7 | obj-$(CONFIG_W1_MASTER_DS9490) += ds9490r.o | ||
8 | ds9490r-objs := dscore.o | ||
9 | |||
10 | obj-$(CONFIG_W1_MASTER_DS9490_BRIDGE) += ds_w1_bridge.o | ||
11 | |||
diff --git a/drivers/w1/ds_w1_bridge.c b/drivers/w1/masters/ds_w1_bridge.c index 29e01d57c6be..5d30783a3eb6 100644 --- a/drivers/w1/ds_w1_bridge.c +++ b/drivers/w1/masters/ds_w1_bridge.c | |||
@@ -22,8 +22,8 @@ | |||
22 | #include <linux/module.h> | 22 | #include <linux/module.h> |
23 | #include <linux/types.h> | 23 | #include <linux/types.h> |
24 | 24 | ||
25 | #include "../w1/w1.h" | 25 | #include "../w1.h" |
26 | #include "../w1/w1_int.h" | 26 | #include "../w1_int.h" |
27 | #include "dscore.h" | 27 | #include "dscore.h" |
28 | 28 | ||
29 | static struct ds_device *ds_dev; | 29 | static struct ds_device *ds_dev; |
diff --git a/drivers/w1/dscore.c b/drivers/w1/masters/dscore.c index b9146306df49..2cf7776a7080 100644 --- a/drivers/w1/dscore.c +++ b/drivers/w1/masters/dscore.c | |||
@@ -340,7 +340,7 @@ int ds_reset(struct ds_device *dev, struct ds_status *st) | |||
340 | return -EIO; | 340 | return -EIO; |
341 | } | 341 | } |
342 | #endif | 342 | #endif |
343 | 343 | ||
344 | return 0; | 344 | return 0; |
345 | } | 345 | } |
346 | 346 | ||
@@ -348,7 +348,7 @@ int ds_reset(struct ds_device *dev, struct ds_status *st) | |||
348 | int ds_set_speed(struct ds_device *dev, int speed) | 348 | int ds_set_speed(struct ds_device *dev, int speed) |
349 | { | 349 | { |
350 | int err; | 350 | int err; |
351 | 351 | ||
352 | if (speed != SPEED_NORMAL && speed != SPEED_FLEXIBLE && speed != SPEED_OVERDRIVE) | 352 | if (speed != SPEED_NORMAL && speed != SPEED_FLEXIBLE && speed != SPEED_OVERDRIVE) |
353 | return -EINVAL; | 353 | return -EINVAL; |
354 | 354 | ||
diff --git a/drivers/w1/dscore.h b/drivers/w1/masters/dscore.h index 6cf5671d6ebe..6cf5671d6ebe 100644 --- a/drivers/w1/dscore.h +++ b/drivers/w1/masters/dscore.h | |||
diff --git a/drivers/w1/matrox_w1.c b/drivers/w1/masters/matrox_w1.c index 750a1aacf6f5..591809cbbb97 100644 --- a/drivers/w1/matrox_w1.c +++ b/drivers/w1/masters/matrox_w1.c | |||
@@ -19,8 +19,8 @@ | |||
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
20 | */ | 20 | */ |
21 | 21 | ||
22 | #include <asm/atomic.h> | ||
23 | #include <asm/types.h> | 22 | #include <asm/types.h> |
23 | #include <asm/atomic.h> | ||
24 | #include <asm/io.h> | 24 | #include <asm/io.h> |
25 | 25 | ||
26 | #include <linux/delay.h> | 26 | #include <linux/delay.h> |
@@ -35,9 +35,9 @@ | |||
35 | #include <linux/pci.h> | 35 | #include <linux/pci.h> |
36 | #include <linux/timer.h> | 36 | #include <linux/timer.h> |
37 | 37 | ||
38 | #include "w1.h" | 38 | #include "../w1.h" |
39 | #include "w1_int.h" | 39 | #include "../w1_int.h" |
40 | #include "w1_log.h" | 40 | #include "../w1_log.h" |
41 | 41 | ||
42 | MODULE_LICENSE("GPL"); | 42 | MODULE_LICENSE("GPL"); |
43 | MODULE_AUTHOR("Evgeniy Polyakov <johnpol@2ka.mipt.ru>"); | 43 | MODULE_AUTHOR("Evgeniy Polyakov <johnpol@2ka.mipt.ru>"); |
diff --git a/drivers/w1/slaves/Kconfig b/drivers/w1/slaves/Kconfig new file mode 100644 index 000000000000..f9d4c91fc533 --- /dev/null +++ b/drivers/w1/slaves/Kconfig | |||
@@ -0,0 +1,38 @@ | |||
1 | # | ||
2 | # 1-wire slaves configuration | ||
3 | # | ||
4 | |||
5 | menu "1-wire Slaves" | ||
6 | depends on W1 | ||
7 | |||
8 | config W1_SLAVE_THERM | ||
9 | tristate "Thermal family implementation" | ||
10 | depends on W1 | ||
11 | help | ||
12 | Say Y here if you want to connect 1-wire thermal sensors to you | ||
13 | wire. | ||
14 | |||
15 | config W1_SLAVE_SMEM | ||
16 | tristate "Simple 64bit memory family implementation" | ||
17 | depends on W1 | ||
18 | help | ||
19 | Say Y here if you want to connect 1-wire | ||
20 | simple 64bit memory rom(ds2401/ds2411/ds1990*) to you wire. | ||
21 | |||
22 | config W1_SLAVE_DS2433 | ||
23 | tristate "4kb EEPROM family support (DS2433)" | ||
24 | depends on W1 | ||
25 | help | ||
26 | Say Y here if you want to use a 1-wire | ||
27 | 4kb EEPROM family device (DS2433). | ||
28 | |||
29 | config W1_SLAVE_DS2433_CRC | ||
30 | bool "Protect DS2433 data with a CRC16" | ||
31 | depends on W1_DS2433 | ||
32 | select CRC16 | ||
33 | help | ||
34 | Say Y here to protect DS2433 data with a CRC16. | ||
35 | Each block has 30 bytes of data and a two byte CRC16. | ||
36 | Full block writes are only allowed if the CRC is valid. | ||
37 | |||
38 | endmenu | ||
diff --git a/drivers/w1/slaves/Makefile b/drivers/w1/slaves/Makefile new file mode 100644 index 000000000000..70e21e2d70c3 --- /dev/null +++ b/drivers/w1/slaves/Makefile | |||
@@ -0,0 +1,12 @@ | |||
1 | # | ||
2 | # Makefile for the Dallas's 1-wire slaves. | ||
3 | # | ||
4 | |||
5 | ifeq ($(CONFIG_W1_SLAVE_DS2433_CRC), y) | ||
6 | EXTRA_CFLAGS += -DCONFIG_W1_F23_CRC | ||
7 | endif | ||
8 | |||
9 | obj-$(CONFIG_W1_SLAVE_THERM) += w1_therm.o | ||
10 | obj-$(CONFIG_W1_SLAVE_SMEM) += w1_smem.o | ||
11 | obj-$(CONFIG_W1_SLAVE_DS2433) += w1_ds2433.o | ||
12 | |||
diff --git a/drivers/w1/w1_ds2433.c b/drivers/w1/slaves/w1_ds2433.c index 1e3d98aac12d..fb118be789ea 100644 --- a/drivers/w1/w1_ds2433.c +++ b/drivers/w1/slaves/w1_ds2433.c | |||
@@ -21,10 +21,10 @@ | |||
21 | 21 | ||
22 | #endif | 22 | #endif |
23 | 23 | ||
24 | #include "w1.h" | 24 | #include "../w1.h" |
25 | #include "w1_io.h" | 25 | #include "../w1_io.h" |
26 | #include "w1_int.h" | 26 | #include "../w1_int.h" |
27 | #include "w1_family.h" | 27 | #include "../w1_family.h" |
28 | 28 | ||
29 | MODULE_LICENSE("GPL"); | 29 | MODULE_LICENSE("GPL"); |
30 | MODULE_AUTHOR("Ben Gardner <bgardner@wabtec.com>"); | 30 | MODULE_AUTHOR("Ben Gardner <bgardner@wabtec.com>"); |
diff --git a/drivers/w1/w1_smem.c b/drivers/w1/slaves/w1_smem.c index e3209d0aca9b..c6d3be54f94c 100644 --- a/drivers/w1/w1_smem.c +++ b/drivers/w1/slaves/w1_smem.c | |||
@@ -27,10 +27,10 @@ | |||
27 | #include <linux/device.h> | 27 | #include <linux/device.h> |
28 | #include <linux/types.h> | 28 | #include <linux/types.h> |
29 | 29 | ||
30 | #include "w1.h" | 30 | #include "../w1.h" |
31 | #include "w1_io.h" | 31 | #include "../w1_io.h" |
32 | #include "w1_int.h" | 32 | #include "../w1_int.h" |
33 | #include "w1_family.h" | 33 | #include "../w1_family.h" |
34 | 34 | ||
35 | MODULE_LICENSE("GPL"); | 35 | MODULE_LICENSE("GPL"); |
36 | MODULE_AUTHOR("Evgeniy Polyakov <johnpol@2ka.mipt.ru>"); | 36 | MODULE_AUTHOR("Evgeniy Polyakov <johnpol@2ka.mipt.ru>"); |
@@ -51,7 +51,7 @@ static int __init w1_smem_init(void) | |||
51 | err = w1_register_family(&w1_smem_family_01); | 51 | err = w1_register_family(&w1_smem_family_01); |
52 | if (err) | 52 | if (err) |
53 | return err; | 53 | return err; |
54 | 54 | ||
55 | err = w1_register_family(&w1_smem_family_81); | 55 | err = w1_register_family(&w1_smem_family_81); |
56 | if (err) { | 56 | if (err) { |
57 | w1_unregister_family(&w1_smem_family_01); | 57 | w1_unregister_family(&w1_smem_family_01); |
diff --git a/drivers/w1/w1_therm.c b/drivers/w1/slaves/w1_therm.c index 4577df3cfc48..536d16d78de7 100644 --- a/drivers/w1/w1_therm.c +++ b/drivers/w1/slaves/w1_therm.c | |||
@@ -28,10 +28,10 @@ | |||
28 | #include <linux/types.h> | 28 | #include <linux/types.h> |
29 | #include <linux/delay.h> | 29 | #include <linux/delay.h> |
30 | 30 | ||
31 | #include "w1.h" | 31 | #include "../w1.h" |
32 | #include "w1_io.h" | 32 | #include "../w1_io.h" |
33 | #include "w1_int.h" | 33 | #include "../w1_int.h" |
34 | #include "w1_family.h" | 34 | #include "../w1_family.h" |
35 | 35 | ||
36 | MODULE_LICENSE("GPL"); | 36 | MODULE_LICENSE("GPL"); |
37 | MODULE_AUTHOR("Evgeniy Polyakov <johnpol@2ka.mipt.ru>"); | 37 | MODULE_AUTHOR("Evgeniy Polyakov <johnpol@2ka.mipt.ru>"); |
@@ -123,12 +123,12 @@ static inline int w1_DS18S20_convert_temp(u8 rom[9]) | |||
123 | 123 | ||
124 | if (!rom[7]) | 124 | if (!rom[7]) |
125 | return 0; | 125 | return 0; |
126 | 126 | ||
127 | if (rom[1] == 0) | 127 | if (rom[1] == 0) |
128 | t = ((s32)rom[0] >> 1)*1000; | 128 | t = ((s32)rom[0] >> 1)*1000; |
129 | else | 129 | else |
130 | t = 1000*(-1*(s32)(0x100-rom[0]) >> 1); | 130 | t = 1000*(-1*(s32)(0x100-rom[0]) >> 1); |
131 | 131 | ||
132 | t -= 250; | 132 | t -= 250; |
133 | h = 1000*((s32)rom[7] - (s32)rom[6]); | 133 | h = 1000*((s32)rom[7] - (s32)rom[6]); |
134 | h /= (s32)rom[7]; | 134 | h /= (s32)rom[7]; |
@@ -231,7 +231,7 @@ static ssize_t w1_therm_read_bin(struct kobject *kobj, char *buf, loff_t off, si | |||
231 | 231 | ||
232 | for (i = 0; i < 9; ++i) | 232 | for (i = 0; i < 9; ++i) |
233 | count += sprintf(buf + count, "%02x ", sl->rom[i]); | 233 | count += sprintf(buf + count, "%02x ", sl->rom[i]); |
234 | 234 | ||
235 | count += sprintf(buf + count, "t=%d\n", w1_convert_temp(rom, sl->family->fid)); | 235 | count += sprintf(buf + count, "t=%d\n", w1_convert_temp(rom, sl->family->fid)); |
236 | out: | 236 | out: |
237 | up(&dev->mutex); | 237 | up(&dev->mutex); |