[PATCH 11/21] ata: Use dev_add_param_bool for probe parameter
Sascha Hauer
s.hauer at pengutronix.de
Sun Apr 7 10:00:45 EDT 2013
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
drivers/ata/disk_ata_drive.c | 21 ++++++++++-----------
include/ata_drive.h | 1 +
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/ata/disk_ata_drive.c b/drivers/ata/disk_ata_drive.c
index 6fe526a..2cff584 100644
--- a/drivers/ata/disk_ata_drive.c
+++ b/drivers/ata/disk_ata_drive.c
@@ -325,20 +325,18 @@ on_error:
return rc;
}
-static int ata_set_probe(struct device_d *class_dev, struct param_d *param,
- const char *val)
+static int ata_set_probe(struct param_d *param, void *priv)
{
- struct ata_port *port = container_of(class_dev, struct ata_port, class_dev);
- int ret, probe;
+ struct ata_port *port = priv;
+ int ret;
- if (port->initialized) {
- dev_info(class_dev, "already initialized\n");
+ if (!port->probe)
return 0;
- }
- probe = !!simple_strtoul(val, NULL, 0);
- if (!probe)
+ if (port->initialized) {
+ dev_info(&port->class_dev, "already initialized\n");
return 0;
+ }
ret = ata_port_init(port);
if (ret)
@@ -346,7 +344,7 @@ static int ata_set_probe(struct device_d *class_dev, struct param_d *param,
port->initialized = 1;
- return dev_param_set_generic(class_dev, param, "1");
+ return 0;
}
/**
@@ -367,7 +365,8 @@ int ata_port_register(struct ata_port *port)
if (ret)
return ret;
- dev_add_param(&port->class_dev, "probe", ata_set_probe, NULL, 0);
+ dev_add_param_bool(&port->class_dev, "probe", ata_set_probe,
+ NULL, &port->probe, port);
return ret;
}
diff --git a/include/ata_drive.h b/include/ata_drive.h
index 4f8b6c0..049082f 100644
--- a/include/ata_drive.h
+++ b/include/ata_drive.h
@@ -95,6 +95,7 @@ struct ata_port {
struct block_device blk;
uint16_t *id;
int initialized;
+ int probe;
};
int ide_port_register(struct device_d *, struct ata_ioports *);
--
1.8.2.rc2
More information about the barebox
mailing list