[RFC][PATCH 1/3] spi: let master a chance to setup device before registering it
Paul Fertser
fercerpav at gmail.com
Mon Aug 29 08:25:42 EDT 2011
Call setup() before registering the device because registering leads
to a probe routine of the slave device and that requires an
initialised master.
Signed-off-by: Paul Fertser <fercerpav at gmail.com>
---
TBH, i do not fully understand the framework, so this and the following patches
might be rather wrong. But the issues i tried to fix were real indeed :)
drivers/spi/spi.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index b561f9d..82393ea 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -80,7 +80,6 @@ struct spi_device *spi_new_device(struct spi_master *master,
strcpy(proxy->dev.name, chip->name);
proxy->dev.type_data = proxy;
dev_add_child(master->dev, &proxy->dev);
- status = register_device(&proxy->dev);
/* drivers may modify this initial i/o setup */
status = master->setup(proxy);
@@ -90,10 +89,10 @@ struct spi_device *spi_new_device(struct spi_master *master,
goto fail;
}
- return proxy;
+ register_device(&proxy->dev);
+ return proxy;
fail:
- unregister_device(&proxy->dev);
free(proxy);
return NULL;
}
--
1.5.2.2
More information about the barebox
mailing list