On 10/11/17 11:49, Vinod Koul wrote:
index 000000000000..9b3dca95a098 --- /dev/null +++ b/drivers/soundwire/bus.h + +#ifndef __SDW_BUS_H +#define __SDW_BUS_H + +#include <linux/init.h> +#include <linux/device.h> +#include <linux/module.h> +#include <linux/mod_devicetable.h> +#include <linux/acpi.h>
Do you need all these headers as part of this patch?
+#include <linux/soundwire/sdw.h> + +int sdw_slave_modalias(const struct sdw_slave *slave, char *buf, size_t size); + +#endif /* __SDW_BUS_H */ diff --git a/drivers/soundwire/bus_type.c b/drivers/soundwire/bus_type.c new file mode 100644 index 000000000000..3e97a8284871 --- /dev/null +++ b/drivers/soundwire/bus_type.c @@ -0,0 +1,227 @@
...
+static const struct sdw_device_id * +sdw_get_device_id(struct sdw_slave *slave, struct sdw_driver *drv)
Indentation looks Odd here,
+{ + const struct sdw_device_id *id = drv->id_table; + + while (id && id->mfg_id) { + if (slave->id.mfg_id == id->mfg_id && + slave->id.part_id == id->part_id) + return id; + id++; + } + + return NULL; +}
...
+ +static int sdw_drv_probe(struct device *dev) +{ + struct sdw_slave *slave = dev_to_sdw_dev(dev); + struct sdw_driver *drv = drv_to_sdw_driver(dev->driver); + const struct sdw_device_id *id; + int ret;
...
+ /* + * attach to power domain but don't turn on (last arg) + */ + ret = dev_pm_domain_attach(dev, false); + if (ret) {
I think we discussed this in v1, but erring out here means that all the devices need to have pm domain attached, which might not be true all the time.
+ dev_err(dev, "Failed to attach PM domain: %d\n", ret); + return ret; + } + + ret = drv->probe(slave, id); + if (ret) { + dev_err(dev, "Probe of %s failed: %d\n", drv->name, ret); + dev_pm_domain_detach(dev, false); + return ret; + } + + return 0; +} + +
...
diff --git a/include/linux/soundwire/sdw.h b/include/linux/soundwire/sdw.h +#ifndef __SOUNDWIRE_H +#define __SOUNDWIRE_H + +#include <linux/device.h> +#include <linux/mod_devicetable.h> + +struct sdw_bus; +struct sdw_slave; + +#define SDW_MAX_DEVICES 11 + +/** + * enum sdw_slave_status: Slave status + * + * @SDW_SLAVE_UNATTACHED: Slave is not attached with the bus. + * @SDW_SLAVE_ATTACHED: Slave is attached with bus. + * @SDW_SLAVE_ALERT: Some alert condition on the Slave + * @SDW_SLAVE_RESERVED: Reserved for future use + */ +enum sdw_slave_status { + SDW_SLAVE_UNATTACHED = 0, + SDW_SLAVE_ATTACHED = 1, + SDW_SLAVE_ALERT = 2, + SDW_SLAVE_RESERVED = 3, +}; + +/* + * SDW Slave Structures and APIs + */ + +/** + * struct sdw_slave_id: Slave ID + *
Do we need an empty line Here?? same thing for all the kernel doc comments. Also looking at examples in Documentation/doc-guide/kernel-doc.rst struct should follow with - instead of : same for functions.. _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel