Re: [PATCH v2 1/6] usb: typec: ucsi: add get_fw_info function

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

 



On Mon, Jan 28, 2019 at 12:37:26PM -0800, Ajay Gupta wrote:
> Function is to get the details of ccg firmware and device version.
> It will be useful in debugging and also during firmware update.
> 
> Signed-off-by: Ajay Gupta <ajayg@xxxxxxxxxx>
> ---
> Changes from v1:
> 	- Updated commit message
> 	- Dropped uses of bitfield
> 	- Removed dev_dbg prints
> 
>  drivers/usb/typec/ucsi/ucsi_ccg.c | 58 +++++++++++++++++++++++++++++--
>  1 file changed, 56 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/typec/ucsi/ucsi_ccg.c b/drivers/usb/typec/ucsi/ucsi_ccg.c
> index de8a43bdff68..76cf772872db 100644
> --- a/drivers/usb/typec/ucsi/ucsi_ccg.c
> +++ b/drivers/usb/typec/ucsi/ucsi_ccg.c
> @@ -17,15 +17,46 @@
>  #include <asm/unaligned.h>
>  #include "ucsi.h"
>  
> +struct ccg_dev_info {
> +#define CCG_DEVINFO_FWMODE_SHIFT (0)
> +#define CCG_DEVINFO_FWMODE_MASK (0x3 << CCG_DEVINFO_FWMODE_SHIFT)
> +#define CCG_DEVINFO_PDPORTS_SHIFT (2)
> +#define CCG_DEVINFO_PDPORTS_MASK (0x3 << CCG_DEVINFO_PDPORTS_SHIFT)
> +	u8 mode;
> +	u8 bl_mode;
> +	u16 silicon_id;
> +	u16 bl_last_row;

__le16 I am guessing for both of these?

> +};

Should this be a packed structure?


> +
> +struct version_format {
> +	u16 build;

__le16?

> +	u8 patch;
> +	u8 ver;
> +#define CCG_VERSION_MIN_SHIFT (0)
> +#define CCG_VERSION_MIN_MASK (0xf << CCG_VERSION_MIN_SHIFT)
> +#define CCG_VERSION_MAJ_SHIFT (4)
> +#define CCG_VERSION_MAJ_MASK (0xf << CCG_VERSION_MAJ_SHIFT)
> +};

Also, packed?

> +
> +struct version_info {
> +	struct version_format base;
> +	struct version_format app;
> +};
> +
>  struct ucsi_ccg {
>  	struct device *dev;
>  	struct ucsi *ucsi;
>  	struct ucsi_ppm ppm;
>  	struct i2c_client *client;
> +	struct ccg_dev_info info;
> +	struct version_info version[3];

3 versions?  Any hint as to what they are all "called"?

thanks,

greg k-h



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux