of/spi: call of_register_spi_devices() from spi core code
Move of_register_spi_devices() call from drivers to spi_register_master(). Also change the function to use the struct device_node pointer from master spi device instead of passing it as function argument. Signed-off-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
This commit is contained in:

committed by
Grant Likely

parent
559e2b7ee7
commit
12b15e8328
@@ -17,7 +17,6 @@
|
||||
#include <linux/errno.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/of_spi.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include <linux/completion.h>
|
||||
#include <linux/io.h>
|
||||
@@ -398,6 +397,7 @@ static int __init mpc52xx_psc_spi_do_probe(struct device *dev, u32 regaddr,
|
||||
master->setup = mpc52xx_psc_spi_setup;
|
||||
master->transfer = mpc52xx_psc_spi_transfer;
|
||||
master->cleanup = mpc52xx_psc_spi_cleanup;
|
||||
master->dev.of_node = dev->of_node;
|
||||
|
||||
mps->psc = ioremap(regaddr, size);
|
||||
if (!mps->psc) {
|
||||
@@ -470,7 +470,6 @@ static int __init mpc52xx_psc_spi_of_probe(struct of_device *op,
|
||||
const u32 *regaddr_p;
|
||||
u64 regaddr64, size64;
|
||||
s16 id = -1;
|
||||
int rc;
|
||||
|
||||
regaddr_p = of_get_address(op->dev.of_node, 0, &size64, NULL);
|
||||
if (!regaddr_p) {
|
||||
@@ -491,13 +490,8 @@ static int __init mpc52xx_psc_spi_of_probe(struct of_device *op,
|
||||
id = *psc_nump + 1;
|
||||
}
|
||||
|
||||
rc = mpc52xx_psc_spi_do_probe(&op->dev, (u32)regaddr64, (u32)size64,
|
||||
return mpc52xx_psc_spi_do_probe(&op->dev, (u32)regaddr64, (u32)size64,
|
||||
irq_of_parse_and_map(op->dev.of_node, 0), id);
|
||||
if (rc == 0)
|
||||
of_register_spi_devices(dev_get_drvdata(&op->dev),
|
||||
op->dev.of_node);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int __exit mpc52xx_psc_spi_of_remove(struct of_device *op)
|
||||
|
Reference in New Issue
Block a user