On 1/25/21 10:50 PM, Xu Yilun wrote:
> The version register is the only one in the legacy I/O space to be
> accessed, so it is not necessary to define the legacy base & version
> register offset. A direct definition of the legacy version register
> address would be fine.
>
> Signed-off-by: Xu Yilun <yilun...@intel.com>
> ---
>  drivers/mfd/intel-m10-bmc.c       | 12 +++++-------
>  include/linux/mfd/intel-m10-bmc.h |  2 +-
>  2 files changed, 6 insertions(+), 8 deletions(-)

Thanks for adding M10BMC_LEGACY_BUILD_VER

Reviewed-by: Tom Rix <t...@redhat.com>

> diff --git a/drivers/mfd/intel-m10-bmc.c b/drivers/mfd/intel-m10-bmc.c
> index b84579b..aad86f0 100644
> --- a/drivers/mfd/intel-m10-bmc.c
> +++ b/drivers/mfd/intel-m10-bmc.c
> @@ -74,16 +74,14 @@ static int check_m10bmc_version(struct intel_m10bmc 
> *ddata)
>  
>       /*
>        * This check is to filter out the very old legacy BMC versions,
> -      * M10BMC_LEGACY_SYS_BASE is the offset to this old block of mmio
> -      * registers. In the old BMC chips, the BMC version info is stored
> -      * in this old version register (M10BMC_LEGACY_SYS_BASE +
> -      * M10BMC_BUILD_VER), so its read out value would have not been
> -      * LEGACY_INVALID (0xffffffff). But in new BMC chips that the
> +      * 0x300400 is the offset to this old block of mmio registers. In the
> +      * old BMC chips, the BMC version info is stored in this old version
> +      * register (0x300400 + 0x68), so its read out value would have not
> +      * been LEGACY_INVALID (0xffffffff). But in new BMC chips that the
>        * driver supports, the value of this register should be
>        * LEGACY_INVALID.
>        */
> -     ret = m10bmc_raw_read(ddata,
> -                           M10BMC_LEGACY_SYS_BASE + M10BMC_BUILD_VER, &v);
> +     ret = m10bmc_raw_read(ddata, M10BMC_LEGACY_BUILD_VER, &v);
>       if (ret)
>               return -ENODEV;
>  
> diff --git a/include/linux/mfd/intel-m10-bmc.h 
> b/include/linux/mfd/intel-m10-bmc.h
> index 06da62c..99f44b1 100644
> --- a/include/linux/mfd/intel-m10-bmc.h
> +++ b/include/linux/mfd/intel-m10-bmc.h
> @@ -9,7 +9,7 @@
>  
>  #include <linux/regmap.h>
>  
> -#define M10BMC_LEGACY_SYS_BASE               0x300400
> +#define M10BMC_LEGACY_BUILD_VER              0x300468
>  #define M10BMC_SYS_BASE                      0x300800
>  #define M10BMC_MEM_END                       0x1fffffff
>  

Reply via email to