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

Re: [Xen-devel] [PATCH] xen: arm: platforms: Remove determining reset specific values from dts for XGENE.



On Tue, 2014-02-04 at 11:35 +0530, Pranavkumar Sawargaonkar wrote:
> This patch removes reading reset specific values (address, size and mask) 
> from dts
> and uses values defined in the code now.
> This is because currently xgene reset driver (submitted in linux) is going 
> through
> a change (which is not yet accepted), this new driver has a new type of dts 
> bindings
> for reset.
> Hence till linux driver comes to some conclusion, we will use hardcoded 
> values instead
> of reading from dts so that xen code will not break due to the linux 
> transition.
> 
> Ref:
> http://lists.xen.org/archives/html/xen-devel/2014-01/msg02256.html
> http://www.gossamer-threads.com/lists/linux/kernel/1845585
> 
> Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@xxxxxxxxxx>
> Signed-off-by: Anup Patel <anup.patel@xxxxxxxxxx>

Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

George -- I'd like to take this into 4.4 to avoid shipping a Xen which
relies on an unagreed DTS binding (which is an ABI of sorts).

Ian.

> ---
>  xen/arch/arm/platforms/xgene-storm.c |   43 
> +++++++++-------------------------
>  1 file changed, 11 insertions(+), 32 deletions(-)
> 
> diff --git a/xen/arch/arm/platforms/xgene-storm.c 
> b/xen/arch/arm/platforms/xgene-storm.c
> index 4fc185b..1da9b36 100644
> --- a/xen/arch/arm/platforms/xgene-storm.c
> +++ b/xen/arch/arm/platforms/xgene-storm.c
> @@ -25,6 +25,11 @@
>  #include <asm/io.h>
>  #include <asm/gic.h>
>  
> +/* XGENE RESET Specific defines */
> +#define XGENE_RESET_ADDR        0x17000014UL
> +#define XGENE_RESET_SIZE        0x100
> +#define XGENE_RESET_MASK        0x1
> +
>  /* Variables to save reset address of soc during platform initialization. */
>  static u64 reset_addr, reset_size;
>  static u32 reset_mask;
> @@ -141,38 +146,12 @@ static void xgene_storm_reset(void)
>  
>  static int xgene_storm_init(void)
>  {
> -    static const struct dt_device_match reset_ids[] __initconst =
> -    {
> -        DT_MATCH_COMPATIBLE("apm,xgene-reboot"),
> -        {},
> -    };
> -    struct dt_device_node *dev;
> -    int res;
> -
> -    dev = dt_find_matching_node(NULL, reset_ids);
> -    if ( !dev )
> -    {
> -        printk("XGENE: Unable to find a compatible reset node in the device 
> tree");
> -        return 0;
> -    }
> -
> -    dt_device_set_used_by(dev, DOMID_XEN);
> -
> -    /* Retrieve base address and size */
> -    res = dt_device_get_address(dev, 0, &reset_addr, &reset_size);
> -    if ( res )
> -    {
> -        printk("XGENE: Unable to retrieve the base address for reset\n");
> -        return 0;
> -    }
> -
> -    /* Get reset mask */
> -    res = dt_property_read_u32(dev, "mask", &reset_mask);
> -    if ( !res )
> -    {
> -        printk("XGENE: Unable to retrieve the reset mask\n");
> -        return 0;
> -    }
> +    /* TBD: Once Linux side device tree bindings are finalized retrieve
> +     * these values from dts.
> +     */
> +    reset_addr = XGENE_RESET_ADDR;
> +    reset_size = XGENE_RESET_SIZE;
> +    reset_mask = XGENE_RESET_MASK;
>  
>      reset_vals_valid = true;
>      return 0;



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.