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

Srinivas Kandagatla srinivas.kandagatla at linaro.org
Thu Nov 16 14:40:05 CET 2017


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 at linaro.org 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.
> 


More information about the Alsa-devel mailing list