mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
drivers/fsi: Add empty master scan
When a new fsi master is added, we will need to scan its links, and slaves attached to those links. This change introduces a little shell to iterate the links, which we will populate with the actual slave scan in a later change. Signed-off-by: Jeremy Kerr <jk@ozlabs.org> Signed-off-by: Chris Bostic <cbostic@linux.vnet.ibm.com> Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
faf0b116de
commit
414c102631
1 changed files with 23 additions and 2 deletions
|
@ -32,7 +32,25 @@ struct fsi_slave {
|
|||
|
||||
#define to_fsi_slave(d) container_of(d, struct fsi_slave, dev)
|
||||
|
||||
/* FSI slave support */
|
||||
static int fsi_slave_init(struct fsi_master *master, int link, uint8_t id)
|
||||
{
|
||||
/* todo: initialise slave device, perform engine scan */
|
||||
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
/* FSI master support */
|
||||
static int fsi_master_scan(struct fsi_master *master)
|
||||
{
|
||||
int link;
|
||||
|
||||
for (link = 0; link < master->n_links; link++)
|
||||
fsi_slave_init(master, link, 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int fsi_master_register(struct fsi_master *master)
|
||||
{
|
||||
int rc;
|
||||
|
@ -44,10 +62,13 @@ int fsi_master_register(struct fsi_master *master)
|
|||
dev_set_name(&master->dev, "fsi%d", master->idx);
|
||||
|
||||
rc = device_register(&master->dev);
|
||||
if (rc)
|
||||
if (rc) {
|
||||
ida_simple_remove(&master_ida, master->idx);
|
||||
return rc;
|
||||
}
|
||||
|
||||
return rc;
|
||||
fsi_master_scan(master);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(fsi_master_register);
|
||||
|
||||
|
|
Loading…
Reference in a new issue