w1: support auto-load of w1_bq27000 module.
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.
Acked-by Evgeniy Polyakov <[email protected]>
Signed-off-by NeilBrown <[email protected]>
---
Hi Greg,
appreciate it if you could queue this up for whenever.
Thanks,
NeilBrown
drivers/w1/slaves/w1_bq27000.c +2 -2
@@ -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
@@ -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
@@ -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