lkml.org 
[lkml]   [2017]   [Nov]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [alsa-devel] [PATCH v7 03/13] slimbus: Add SLIMbus bus type
On Wed, Nov 15, 2017 at 02:10:33PM +0000, srinivas.kandagatla@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?

> +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 :)

> 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.

> +};
> +

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

> +/**
> + * 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

--
~Vinod
\
 
 \ /
  Last update: 2017-11-17 17:17    [W:0.143 / U:5.864 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site