Re: [PATCH] mmc: renesas_sdhi: remove whitelist for internal DMAC

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

 



Hi Wolfram,

Thanks for your work.

On 2019-12-03 20:48:59 +0100, Wolfram Sang wrote:
> From: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
> 
> We know now that there won't be Gen3 SoCs with both, SYS-DMAC and
> internal DMAC. We removed the blacklisting for SYS-DMAC already, so we
> can remove the whitelisting for internal DMAC, too. This makes adding
> new SoCs easier. We keep the quirk handling, of course.
> 
> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>

Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx>

> ---
>  drivers/mmc/host/renesas_sdhi_internal_dmac.c | 23 ++++---------------
>  1 file changed, 4 insertions(+), 19 deletions(-)
> 
> diff --git a/drivers/mmc/host/renesas_sdhi_internal_dmac.c b/drivers/mmc/host/renesas_sdhi_internal_dmac.c
> index 68fb39a74b8b..47ac53e91241 100644
> --- a/drivers/mmc/host/renesas_sdhi_internal_dmac.c
> +++ b/drivers/mmc/host/renesas_sdhi_internal_dmac.c
> @@ -298,38 +298,23 @@ static const struct tmio_mmc_dma_ops renesas_sdhi_internal_dmac_dma_ops = {
>   * Whitelist of specific R-Car Gen3 SoC ES versions to use this DMAC
>   * implementation as others may use a different implementation.
>   */
> -static const struct soc_device_attribute soc_whitelist[] = {
> -	/* specific ones */
> +static const struct soc_device_attribute soc_dma_quirks[] = {
>  	{ .soc_id = "r7s9210",
>  	  .data = (void *)BIT(SDHI_INTERNAL_DMAC_ADDR_MODE_FIXED_ONLY) },
>  	{ .soc_id = "r8a7795", .revision = "ES1.*",
>  	  .data = (void *)BIT(SDHI_INTERNAL_DMAC_ONE_RX_ONLY) },
>  	{ .soc_id = "r8a7796", .revision = "ES1.0",
>  	  .data = (void *)BIT(SDHI_INTERNAL_DMAC_ONE_RX_ONLY) },
> -	/* generic ones */
> -	{ .soc_id = "r8a774a1" },
> -	{ .soc_id = "r8a774b1" },
> -	{ .soc_id = "r8a774c0" },
> -	{ .soc_id = "r8a77470" },
> -	{ .soc_id = "r8a7795" },
> -	{ .soc_id = "r8a7796" },
> -	{ .soc_id = "r8a77965" },
> -	{ .soc_id = "r8a77970" },
> -	{ .soc_id = "r8a77980" },
> -	{ .soc_id = "r8a77990" },
> -	{ .soc_id = "r8a77995" },
>  	{ /* sentinel */ }
>  };
>  
>  static int renesas_sdhi_internal_dmac_probe(struct platform_device *pdev)
>  {
> -	const struct soc_device_attribute *soc = soc_device_match(soc_whitelist);
> +	const struct soc_device_attribute *soc = soc_device_match(soc_dma_quirks);
>  	struct device *dev = &pdev->dev;
>  
> -	if (!soc)
> -		return -ENODEV;
> -
> -	global_flags |= (unsigned long)soc->data;
> +	if (soc)
> +		global_flags |= (unsigned long)soc->data;
>  
>  	dev->dma_parms = devm_kzalloc(dev, sizeof(*dev->dma_parms), GFP_KERNEL);
>  	if (!dev->dma_parms)
> -- 
> 2.20.1
> 

-- 
Regards,
Niklas Söderlund



[Index of Archives]     [Linux Memonry Technology]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux