Re: [alsa-devel] [PATCH v7 03/13] slimbus: Add SLIMbus bus type

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks for the review.

On 16/11/17 13:18, Vinod Koul wrote:
On Wed, Nov 15, 2017 at 02:10:33PM +0000, srinivas.kandagatla@xxxxxxxxxx wrote:

+menuconfig SLIMBUS
+	tristate "Slimbus support"
+	help
+	  Slimbus is standard interface between System-on-Chip and audio codec,
+	  and other peripheral components in typical embedded systems.
+
+	  If unsure, choose N.
+
+if SLIMBUS
+
+# SlIMbus controllers

Slimbus perhaps?

slimbus is specified as "SLIMbus" in the mipi specs, so I should probably stay with it and make it consistent across the patchset.


+static int slim_device_match(struct device *dev, struct device_driver *drv)
+{
+	struct slim_device *sbdev = to_slim_device(dev);
+	struct slim_driver *sbdrv = to_slim_driver(drv);
+
+	return slim_match(sbdrv->id_table, sbdev) != NULL;

return !!slim_match() ?

+static int slim_device_probe(struct device *dev)
+{
+	struct slim_device	*sbdev;
+	struct slim_driver	*sbdrv;
+	int ret = 0;
+
+	sbdev = to_slim_device(dev);
+	sbdrv = to_slim_driver(dev->driver);
+
+	if (sbdrv->probe)
+		ret = sbdrv->probe(sbdev);

shouldn't probe be mandatory :)
Yep it is .. I will fix that..

diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
index 1c2e8d6b7274..7d6238863fc1 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -452,6 +452,19 @@ struct spi_device_id {
  	kernel_ulong_t driver_data;	/* Data private to the driver */
  };
+/* SLIMbus */
+
+#define SLIMBUS_NAME_SIZE	32
+#define SLIMBUS_MODULE_PREFIX	"slim:"
+
+struct slim_device_id {
+	__u16 manf_id, prod_code;
+	__u8 dev_index, instance;
+
+	/* Data private to the driver */
+	kernel_ulong_t driver_data;

As Takashi pointed out in SDW patches, this needs to be aligned.

Okay, I will make sure that driver_data is aligned.

+};
+

I was hoping to see changes to devicetable-offsets.c and file2alias.c as
well as that is required for module autoloading. I think that is required?

+/**
+ * struct slim_device - Slim device handle.
+ * @dev: Driver model representation of the device.
+ * @name: Name of driver to use with this device.
+ * @e_addr: Enumeration address of this device.
+ * @driver: Device's driver. Pointer to access routines.
+ * @laddr: 1-byte Logical address of this device.
+ *
+ * This is the client/device handle returned when a slimbus
+ * device is registered with a controller.
+ * Pointer to this structure is used by client-driver as a handle.
+ */
+struct slim_device {
+	struct device		dev;
+	struct slim_eaddr	e_addr;
+	struct list_head node;

aligned with others please

Thanks for spotting, this looks like a leftover, There is no use of node in this structure so I will remove it in next version.

+/**
+ * struct slim_driver - Slimbus 'generic device' (slave) device driver
+ *				(similar to 'spi_device' on SPI)
+ * @probe: Binds this driver to a slimbus device.
+ * @remove: Unbinds this driver from the slimbus device.
+ * @shutdown: Standard shutdown callback used during powerdown/halt.
+ * @device_status: This callback is called when
+ *	-The device reports present and gets a laddr assigned
+ *	-The device reports absent, or the bus goes down.

space after - pls
Yep.. will do that.

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux