Re: [PATCH] fpga fr br: fix warning for unexpected version number

From: Moritz Fischer
Date: Wed Apr 05 2017 - 16:12:37 EST


Hi Matthew,

On Wed, Apr 5, 2017 at 12:05 PM, <matthew.gerlach@xxxxxxxxxxxxxxx> wrote:
> From: Matthew Gerlach <matthew.gerlach@xxxxxxxxxxxxxxx>
>
> The value in the version register of the altera freeze bridge
> controller changed from the beta value of 2 to the
> value of 0xad000003 in the official release of the IP.
> This patch supports the old and new version numbers
> without printing an warning.
>
> Signed-off-by: Matthew Gerlach <matthew.gerlach@xxxxxxxxxxxxxxx>
> ---
> drivers/fpga/altera-freeze-bridge.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/fpga/altera-freeze-bridge.c b/drivers/fpga/altera-freeze-bridge.c
> index 8dcd9fb..bdfd5eb 100644
> --- a/drivers/fpga/altera-freeze-bridge.c
> +++ b/drivers/fpga/altera-freeze-bridge.c
> @@ -28,6 +28,7 @@
> #define FREEZE_CSR_REG_VERSION 12
>
> #define FREEZE_CSR_SUPPORTED_VERSION 2
> +#define FREEZE_CSR_OFFICIAL_VERSION 0xad000003
>
> #define FREEZE_CSR_STATUS_FREEZE_REQ_DONE BIT(0)
> #define FREEZE_CSR_STATUS_UNFREEZE_REQ_DONE BIT(1)
> @@ -241,10 +242,12 @@ static int altera_freeze_br_probe(struct platform_device *pdev)
> priv->enable = 1;
>
> revision = readl(priv->base_addr + FREEZE_CSR_REG_VERSION);
> - if (revision != FREEZE_CSR_SUPPORTED_VERSION)
> + if ((revision != FREEZE_CSR_SUPPORTED_VERSION) &&
> + (revision != FREEZE_CSR_OFFICIAL_VERSION))
> dev_warn(dev,
> - "%s Freeze Controller unexpected revision %d != %d\n",
> - __func__, revision, FREEZE_CSR_SUPPORTED_VERSION);
> + "%s unexpected revision 0x%x != 0x%x != 0x%x\n",
> + __func__, revision, FREEZE_CSR_SUPPORTED_VERSION,
> + FREEZE_CSR_OFFICIAL_VERSION);

Maybe you actually wanna bail out if you read a random other value
instead of what you
expect instead of printing a warning.
>
> return fpga_bridge_register(dev, FREEZE_BRIDGE_NAME,
> &altera_freeze_br_br_ops, priv);
> --
> 2.7.4
>

Cheers,

Moritz