Re: [PATCH v3 6/7] OMAPDSS: DPI: Add support for multiple instances

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

 



On 04/06/14 09:41, Archit Taneja wrote:
> Register DPI outputs, and assign the port_num to them as specified by the
> 'reg' property in the DPI ports in DT.
> 
> To support multiple DPI instances, dpi_get_channel needs to take the DPI
> instance's reg-id to get the corresponding channel. Make it take this
> argument.We just pass 0 in the non-DT path, since we don't support multiple
> instances in the non-DT case.
> 
> Signed-off-by: Archit Taneja <archit@xxxxxx>
> ---
>  drivers/video/fbdev/omap2/dss/dpi.c | 26 +++++++++++++++++++++++---
>  1 file changed, 23 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/video/fbdev/omap2/dss/dpi.c b/drivers/video/fbdev/omap2/dss/dpi.c
> index b579022..3e204a8 100644
> --- a/drivers/video/fbdev/omap2/dss/dpi.c
> +++ b/drivers/video/fbdev/omap2/dss/dpi.c
> @@ -616,7 +616,7 @@ static void dpi_init_pll(struct dpi_data *dpi)
>   * the channel in some more dynamic manner, or get the channel as a user
>   * parameter.
>   */
> -static enum omap_channel dpi_get_channel(void)
> +static enum omap_channel dpi_get_channel(int reg)
>  {
>  	switch (omapdss_get_version()) {
>  	case OMAPDSS_VER_OMAP24xx:
> @@ -710,7 +710,7 @@ static void dpi_init_output(struct platform_device *pdev)
>  	out->id = OMAP_DSS_OUTPUT_DPI;
>  	out->output_type = OMAP_DISPLAY_TYPE_DPI;
>  	out->name = "dpi.0";
> -	out->dispc_channel = dpi_get_channel();
> +	out->dispc_channel = dpi_get_channel(0);
>  	out->ops.dpi = &dpi_ops;
>  	out->owner = THIS_MODULE;
>  
> @@ -730,11 +730,31 @@ static void dpi_init_output_port(struct platform_device *pdev,
>  {
>  	struct dpi_data *dpi = port->data;
>  	struct omap_dss_device *out = &dpi->output;
> +	int r;
> +	u32 reg;
> +
> +	r = of_property_read_u32(port, "reg", &reg);
> +	if (r)
> +		reg = 0;
> +
> +	switch (reg) {
> +	case 2:
> +		out->name = "dpi.2";
> +		break;
> +	case 1:
> +		out->name = "dpi.1";
> +		break;
> +	case 0:
> +	default:
> +		out->name = "dpi.0";
> +		break;
> +	}

I don't think it makes sense to use "reg" word anywhere else than when
getting the property from the DT data. What we need here is port number.
That port number is just stored in "reg" property in the DT data. So
rather do:

of_property_read_u32(port, "reg", &port_num);

and use the port_num (or such) everywhere, including the subject of the
next patch.

 Tomi


Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Tourism]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux