Skip to contentSkip to conversation

w1: support auto-load of w1_bq27000 module.

PATCH In review NeilBrown 2 participants 3 messages Nov 7, 2014 – Nov 10, 2014 W1 dallas's 1-wire bus

lore
Share & tools
lore

NeilBrown

author
#0 lore raw

PATCH 1/1 w1: support auto-load of w1_bq27000 module.

1/ change request_module call to zero-pad single digit
family numbers. This appears to be the intention of the code, but not what it actually does.

This means that the alias created for W1_FAMILY_SMEM_01 might actually be useful.

2/ Define a family name for the BQ27000 battery charge monitor.
Unfortunately this is the same number as W1_FAMILY_SMEM_01 so if both a compiled on a system, one module might need to be blacklisted.

3/ Add a MODULE_ALIAS for the bq27000.

drivers/w1/slaves/w1_bq27000.c +2 -2
index afbefed5f2c9..caafb1722783 100644
@@ -88,7 +88,7 @@ static struct w1_family_ops w1_bq27000_fops = {
 };
 
 static struct w1_family w1_bq27000_family = {
-	.fid = 1,
+	.fid = W1_FAMILY_BQ27000,
 	.fops = &w1_bq27000_fops,
 };
 
@@ -111,7 +111,7 @@ module_exit(w1_bq27000_exit);
 
 module_param(F_ID, int, S_IRUSR);
 MODULE_PARM_DESC(F_ID, "1-wire slave FID for BQ device");
-
+MODULE_ALIAS("w1-family-" __stringify(W1_FAMILY_BQ27000));
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Texas Instruments Ltd");
 MODULE_DESCRIPTION("HDQ/1-wire slave driver bq27000 battery monitor chip");
drivers/w1/w1.c +1 -1
index 592f7edc671e..181f41cb960b 100644
@@ -727,7 +727,7 @@ int w1_attach_slave_device(struct w1_master *dev, struct w1_reg_num *rn)
 
 	/* slave modules need to be loaded in a context with unlocked mutex */
 	mutex_unlock(&dev->mutex);
-	request_module("w1-family-0x%0x", rn->family);
+	request_module("w1-family-0x%02x", rn->family);
 	mutex_lock(&dev->mutex);
 
 	spin_lock(&w1_flock);
drivers/w1/w1_family.h +1 -0
index 0d18365b61ad..ed5dcb80a1f7 100644
@@ -27,6 +27,7 @@
 #include <linux/atomic.h>
 
 #define W1_FAMILY_DEFAULT	0
+#define W1_FAMILY_BQ27000	0x01
 #define W1_FAMILY_SMEM_01	0x01
 #define W1_FAMILY_SMEM_81	0x81
 #define W1_THERM_DS18S20 	0x10
#1 lore raw

Hi

08.11.2014, 02:33, "NeilBrown" <[email protected]>:

Quoted 7 lines

1/ change request_module call to zero-pad single digit family numbers.  This appears to be the intention of the code, but not what it actually does.

   This means that the alias created for W1_FAMILY_SMEM_01 might actually be useful.

Quoted 8 lines

2/ Define a family name for the BQ27000 battery charge monitor. Unfortunately this is the same number as W1_FAMILY_SMEM_01 so if both a compiled on a system, one module might need to be blacklisted.

3/ Add a MODULE_ALIAS for the bq27000.

Looks good to me.

Which tree should this patch use to get into the kernel?

author
#2 lore raw
Quoted 15 lines · On Mon, 10 Nov 2014 03:11:29 +0300 Евгений Поляков <[email protected]> wrote:

Hi

08.11.2014, 02:33, "NeilBrown" <[email protected]>:

Quoted 12 lines

1/ change request_module call to zero-pad single digit family numbers.  This appears to be the intention of the code, but not what it actually does.

   This means that the alias created for W1_FAMILY_SMEM_01 might actually be useful.

2/ Define a family name for the BQ27000 battery charge monitor. Unfortunately this is the same number as W1_FAMILY_SMEM_01 so if both a compiled on a system, one module might need to be blacklisted.

Quoted 8 lines
Quoted 3 lines

3/ Add a MODULE_ALIAS for the bq27000.

Looks good to me.

Which tree should this patch use to get into the kernel?

MAINTAINERS lists you as the maintainer, so I though you would know.

When is doubt: send to akpm .. or gregkh.
It looks like greg has more Signed-off-by's in drivers/w1 than akpm, so I'll add your acked-by and send to him.

Thanks,
NeilBrown