All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: Paul Walmsley <paul@pwsan.com>
Cc: linux-omap@vger.kernel.org
Subject: Re: [PATCH] OMAP2/3 clockdomains: combine pwrdm, pwrdm_name into union in struct clockdomain
Date: Tue, 5 Aug 2008 16:27:52 +0300	[thread overview]
Message-ID: <20080805132752.GG7193@atomide.com> (raw)
In-Reply-To: <alpine.DEB.1.00.0807180221190.467@utopia.booyaka.com>

* Paul Walmsley <paul@pwsan.com> [080718 11:22]:
> 
> struct clockdomain contains a struct powerdomain *pwrdm and const char
> *pwrdm_name.  The pwrdm_name is only used at initialization to look up
> the appropriate pwrdm pointer.  Combining these into a union saves
> about 100 bytes on 3430SDP.  This patch should not cause any change in
> kernel function.
> 
> Boot-tested on 3430SDP ES2.

Pushing today.

Tony

> Signed-off-by: Paul Walmsley <paul@pwsan.com>
> 
> size:
>    text    data     bss     dec     hex filename
> 3391587  157104  107136 3655827  37c893 vmlinux.3430sdp.orig
> 3391555  157032  107136 3655723  37c82b vmlinux.3430sdp
> ---
> 
>  arch/arm/mach-omap2/clockdomain.c       |   58 ++++++++++++++-----------------
>  arch/arm/mach-omap2/clockdomains.h      |   54 +++++++++++++++--------------
>  include/asm-arm/arch-omap/clockdomain.h |   22 +++++++-----
>  3 files changed, 67 insertions(+), 67 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/clockdomain.c b/arch/arm/mach-omap2/clockdomain.c
> index 6e5f892..caa7992 100644
> --- a/arch/arm/mach-omap2/clockdomain.c
> +++ b/arch/arm/mach-omap2/clockdomain.c
> @@ -71,14 +71,14 @@ static void _autodep_lookup(struct clkdm_pwrdm_autodep *autodep)
>  	if (!omap_chip_is(autodep->omap_chip))
>  		return;
>  
> -	pwrdm = pwrdm_lookup(autodep->pwrdm_name);
> +	pwrdm = pwrdm_lookup(autodep->pwrdm.name);
>  	if (!pwrdm) {
>  		pr_debug("clockdomain: _autodep_lookup: powerdomain %s "
> -			 "does not exist\n", autodep->pwrdm_name);
> +			 "does not exist\n", autodep->pwrdm.name);
>  		WARN_ON(1);
>  		return;
>  	}
> -	autodep->pwrdm = pwrdm;
> +	autodep->pwrdm.ptr = pwrdm;
>  
>  	return;
>  }
> @@ -95,16 +95,13 @@ static void _clkdm_add_autodeps(struct clockdomain *clkdm)
>  {
>  	struct clkdm_pwrdm_autodep *autodep;
>  
> -	for (autodep = autodeps; autodep->pwrdm_name; autodep++) {
> -		if (!autodep->pwrdm)
> -			continue;
> -
> +	for (autodep = autodeps; autodep->pwrdm.ptr; autodep++) {
>  		pr_debug("clockdomain: adding %s sleepdep/wkdep for "
> -			 "pwrdm %s\n", autodep->pwrdm_name,
> -			 clkdm->pwrdm->name);
> +			 "pwrdm %s\n", autodep->pwrdm.ptr->name,
> +			 clkdm->pwrdm.ptr->name);
>  
> -		pwrdm_add_sleepdep(clkdm->pwrdm, autodep->pwrdm);
> -		pwrdm_add_wkdep(clkdm->pwrdm, autodep->pwrdm);
> +		pwrdm_add_sleepdep(clkdm->pwrdm.ptr, autodep->pwrdm.ptr);
> +		pwrdm_add_wkdep(clkdm->pwrdm.ptr, autodep->pwrdm.ptr);
>  	}
>  }
>  
> @@ -120,16 +117,13 @@ static void _clkdm_del_autodeps(struct clockdomain *clkdm)
>  {
>  	struct clkdm_pwrdm_autodep *autodep;
>  
> -	for (autodep = autodeps; autodep->pwrdm_name; autodep++) {
> -		if (!autodep->pwrdm)
> -			continue;
> -
> +	for (autodep = autodeps; autodep->pwrdm.ptr; autodep++) {
>  		pr_debug("clockdomain: removing %s sleepdep/wkdep for "
> -			 "pwrdm %s\n", autodep->pwrdm_name,
> -			 clkdm->pwrdm->name);
> +			 "pwrdm %s\n", autodep->pwrdm.ptr->name,
> +			 clkdm->pwrdm.ptr->name);
>  
> -		pwrdm_del_sleepdep(clkdm->pwrdm, autodep->pwrdm);
> -		pwrdm_del_wkdep(clkdm->pwrdm, autodep->pwrdm);
> +		pwrdm_del_sleepdep(clkdm->pwrdm.ptr, autodep->pwrdm.ptr);
> +		pwrdm_del_wkdep(clkdm->pwrdm.ptr, autodep->pwrdm.ptr);
>  	}
>  }
>  
> @@ -179,7 +173,7 @@ void clkdm_init(struct clockdomain **clkdms,
>  
>  	autodeps = init_autodeps;
>  	if (autodeps)
> -		for (autodep = autodeps; autodep->pwrdm_name; autodep++)
> +		for (autodep = autodeps; autodep->pwrdm.ptr; autodep++)
>  			_autodep_lookup(autodep);
>  }
>  
> @@ -202,13 +196,13 @@ int clkdm_register(struct clockdomain *clkdm)
>  	if (!omap_chip_is(clkdm->omap_chip))
>  		return -EINVAL;
>  
> -	pwrdm = pwrdm_lookup(clkdm->pwrdm_name);
> +	pwrdm = pwrdm_lookup(clkdm->pwrdm.name);
>  	if (!pwrdm) {
>  		pr_debug("clockdomain: clkdm_register %s: powerdomain %s "
> -			 "does not exist\n", clkdm->name, clkdm->pwrdm_name);
> +			 "does not exist\n", clkdm->name, clkdm->pwrdm.name);
>  		return -EINVAL;
>  	}
> -	clkdm->pwrdm = pwrdm;
> +	clkdm->pwrdm.ptr = pwrdm;
>  
>  	mutex_lock(&clkdm_mutex);
>  	/* Verify that the clockdomain is not already registered */
> @@ -242,7 +236,7 @@ int clkdm_unregister(struct clockdomain *clkdm)
>  	if (!clkdm)
>  		return -EINVAL;
>  
> -	pwrdm_del_clkdm(clkdm->pwrdm, clkdm);
> +	pwrdm_del_clkdm(clkdm->pwrdm.ptr, clkdm);
>  
>  	mutex_lock(&clkdm_mutex);
>  	list_del(&clkdm->node);
> @@ -327,7 +321,7 @@ struct powerdomain *clkdm_get_pwrdm(struct clockdomain *clkdm)
>  	if (!clkdm)
>  		return NULL;
>  
> -	return clkdm->pwrdm;
> +	return clkdm->pwrdm.ptr;
>  }
>  
>  
> @@ -348,7 +342,7 @@ static int omap2_clkdm_clktrctrl_read(struct clockdomain *clkdm)
>  	if (!clkdm)
>  		return -EINVAL;
>  
> -	v = cm_read_mod_reg(clkdm->pwrdm->prcm_offs, CM_CLKSTCTRL);
> +	v = cm_read_mod_reg(clkdm->pwrdm.ptr->prcm_offs, CM_CLKSTCTRL);
>  	v &= clkdm->clktrctrl_mask;
>  	v >>= __ffs(clkdm->clktrctrl_mask);
>  
> @@ -380,7 +374,7 @@ int omap2_clkdm_sleep(struct clockdomain *clkdm)
>  	if (cpu_is_omap24xx()) {
>  
>  		cm_set_mod_reg_bits(OMAP24XX_FORCESTATE,
> -				    clkdm->pwrdm->prcm_offs, PM_PWSTCTRL);
> +				    clkdm->pwrdm.ptr->prcm_offs, PM_PWSTCTRL);
>  
>  	} else if (cpu_is_omap34xx()) {
>  
> @@ -388,7 +382,7 @@ int omap2_clkdm_sleep(struct clockdomain *clkdm)
>  			 __ffs(clkdm->clktrctrl_mask));
>  
>  		cm_rmw_mod_reg_bits(clkdm->clktrctrl_mask, v,
> -				    clkdm->pwrdm->prcm_offs, CM_CLKSTCTRL);
> +				    clkdm->pwrdm.ptr->prcm_offs, CM_CLKSTCTRL);
>  
>  	} else {
>  		BUG();
> @@ -422,7 +416,7 @@ int omap2_clkdm_wakeup(struct clockdomain *clkdm)
>  	if (cpu_is_omap24xx()) {
>  
>  		cm_clear_mod_reg_bits(OMAP24XX_FORCESTATE,
> -				      clkdm->pwrdm->prcm_offs, PM_PWSTCTRL);
> +				      clkdm->pwrdm.ptr->prcm_offs, PM_PWSTCTRL);
>  
>  	} else if (cpu_is_omap34xx()) {
>  
> @@ -430,7 +424,7 @@ int omap2_clkdm_wakeup(struct clockdomain *clkdm)
>  			 __ffs(clkdm->clktrctrl_mask));
>  
>  		cm_rmw_mod_reg_bits(clkdm->clktrctrl_mask, v,
> -				    clkdm->pwrdm->prcm_offs, CM_CLKSTCTRL);
> +				    clkdm->pwrdm.ptr->prcm_offs, CM_CLKSTCTRL);
>  
>  	} else {
>  		BUG();
> @@ -478,7 +472,7 @@ void omap2_clkdm_allow_idle(struct clockdomain *clkdm)
>  
>  	cm_rmw_mod_reg_bits(clkdm->clktrctrl_mask,
>  			    v << __ffs(clkdm->clktrctrl_mask),
> -			    clkdm->pwrdm->prcm_offs,
> +			    clkdm->pwrdm.ptr->prcm_offs,
>  			    CM_CLKSTCTRL);
>  }
>  
> @@ -516,7 +510,7 @@ void omap2_clkdm_deny_idle(struct clockdomain *clkdm)
>  
>  	cm_rmw_mod_reg_bits(clkdm->clktrctrl_mask,
>  			    v << __ffs(clkdm->clktrctrl_mask),
> -			    clkdm->pwrdm->prcm_offs, CM_CLKSTCTRL);
> +			    clkdm->pwrdm.ptr->prcm_offs, CM_CLKSTCTRL);
>  
>  	if (atomic_read(&clkdm->usecount) > 0)
>  		_clkdm_del_autodeps(clkdm);
> diff --git a/arch/arm/mach-omap2/clockdomains.h b/arch/arm/mach-omap2/clockdomains.h
> index b5d3244..8559080 100644
> --- a/arch/arm/mach-omap2/clockdomains.h
> +++ b/arch/arm/mach-omap2/clockdomains.h
> @@ -19,7 +19,7 @@
>  /* This is an implicit clockdomain - it is never defined as such in TRM */
>  static struct clockdomain wkup_clkdm = {
>  	.name		= "wkup_clkdm",
> -	.pwrdm_name	= "wkup_pwrdm",
> +	.pwrdm		= { .name = "wkup_pwrdm" },
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP24XX | CHIP_IS_OMAP3430),
>  };
>  
> @@ -31,7 +31,7 @@ static struct clockdomain wkup_clkdm = {
>  
>  static struct clockdomain mpu_2420_clkdm = {
>  	.name		= "mpu_clkdm",
> -	.pwrdm_name	= "mpu_pwrdm",
> +	.pwrdm		= { .name = "mpu_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP,
>  	.clktrctrl_mask = OMAP24XX_AUTOSTATE_MPU_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420),
> @@ -39,7 +39,7 @@ static struct clockdomain mpu_2420_clkdm = {
>  
>  static struct clockdomain iva1_2420_clkdm = {
>  	.name		= "iva1_clkdm",
> -	.pwrdm_name	= "dsp_pwrdm",
> +	.pwrdm		= { .name = "dsp_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP_SWSUP,
>  	.clktrctrl_mask = OMAP2420_AUTOSTATE_IVA_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420),
> @@ -56,7 +56,7 @@ static struct clockdomain iva1_2420_clkdm = {
>  
>  static struct clockdomain mpu_2430_clkdm = {
>  	.name		= "mpu_clkdm",
> -	.pwrdm_name	= "mpu_pwrdm",
> +	.pwrdm		= { .name = "mpu_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP_SWSUP,
>  	.clktrctrl_mask = OMAP24XX_AUTOSTATE_MPU_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
> @@ -64,7 +64,7 @@ static struct clockdomain mpu_2430_clkdm = {
>  
>  static struct clockdomain mdm_clkdm = {
>  	.name		= "mdm_clkdm",
> -	.pwrdm_name	= "mdm_pwrdm",
> +	.pwrdm		= { .name = "mdm_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP_SWSUP,
>  	.clktrctrl_mask = OMAP2430_AUTOSTATE_MDM_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
> @@ -81,7 +81,7 @@ static struct clockdomain mdm_clkdm = {
>  
>  static struct clockdomain dsp_clkdm = {
>  	.name		= "dsp_clkdm",
> -	.pwrdm_name	= "dsp_pwrdm",
> +	.pwrdm		= { .name = "dsp_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP_SWSUP,
>  	.clktrctrl_mask = OMAP24XX_AUTOSTATE_DSP_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP24XX),
> @@ -89,7 +89,7 @@ static struct clockdomain dsp_clkdm = {
>  
>  static struct clockdomain gfx_24xx_clkdm = {
>  	.name		= "gfx_clkdm",
> -	.pwrdm_name	= "gfx_pwrdm",
> +	.pwrdm		= { .name = "gfx_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP_SWSUP,
>  	.clktrctrl_mask = OMAP24XX_AUTOSTATE_GFX_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP24XX),
> @@ -97,7 +97,7 @@ static struct clockdomain gfx_24xx_clkdm = {
>  
>  static struct clockdomain core_l3_24xx_clkdm = {
>  	.name		= "core_l3_clkdm",
> -	.pwrdm_name	= "core_pwrdm",
> +	.pwrdm		= { .name = "core_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP,
>  	.clktrctrl_mask = OMAP24XX_AUTOSTATE_L3_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP24XX),
> @@ -105,7 +105,7 @@ static struct clockdomain core_l3_24xx_clkdm = {
>  
>  static struct clockdomain core_l4_24xx_clkdm = {
>  	.name		= "core_l4_clkdm",
> -	.pwrdm_name	= "core_pwrdm",
> +	.pwrdm		= { .name = "core_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP,
>  	.clktrctrl_mask = OMAP24XX_AUTOSTATE_L4_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP24XX),
> @@ -113,7 +113,7 @@ static struct clockdomain core_l4_24xx_clkdm = {
>  
>  static struct clockdomain dss_24xx_clkdm = {
>  	.name		= "dss_clkdm",
> -	.pwrdm_name	= "core_pwrdm",
> +	.pwrdm		= { .name = "core_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP,
>  	.clktrctrl_mask = OMAP24XX_AUTOSTATE_DSS_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP24XX),
> @@ -130,7 +130,7 @@ static struct clockdomain dss_24xx_clkdm = {
>  
>  static struct clockdomain mpu_34xx_clkdm = {
>  	.name		= "mpu_clkdm",
> -	.pwrdm_name	= "mpu_pwrdm",
> +	.pwrdm		= { .name = "mpu_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP | CLKDM_CAN_FORCE_WAKEUP,
>  	.clktrctrl_mask = OMAP3430_CLKTRCTRL_MPU_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
> @@ -138,7 +138,7 @@ static struct clockdomain mpu_34xx_clkdm = {
>  
>  static struct clockdomain neon_clkdm = {
>  	.name		= "neon_clkdm",
> -	.pwrdm_name	= "neon_pwrdm",
> +	.pwrdm		= { .name = "neon_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP_SWSUP,
>  	.clktrctrl_mask = OMAP3430_CLKTRCTRL_NEON_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
> @@ -146,7 +146,7 @@ static struct clockdomain neon_clkdm = {
>  
>  static struct clockdomain iva2_clkdm = {
>  	.name		= "iva2_clkdm",
> -	.pwrdm_name	= "iva2_pwrdm",
> +	.pwrdm		= { .name = "iva2_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP_SWSUP,
>  	.clktrctrl_mask = OMAP3430_CLKTRCTRL_IVA2_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
> @@ -154,7 +154,7 @@ static struct clockdomain iva2_clkdm = {
>  
>  static struct clockdomain gfx_3430es1_clkdm = {
>  	.name		= "gfx_clkdm",
> -	.pwrdm_name	= "gfx_pwrdm",
> +	.pwrdm		= { .name = "gfx_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP_SWSUP,
>  	.clktrctrl_mask = OMAP3430ES1_CLKTRCTRL_GFX_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430ES1),
> @@ -162,7 +162,7 @@ static struct clockdomain gfx_3430es1_clkdm = {
>  
>  static struct clockdomain sgx_clkdm = {
>  	.name		= "sgx_clkdm",
> -	.pwrdm_name	= "sgx_pwrdm",
> +	.pwrdm		= { .name = "sgx_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP_SWSUP,
>  	.clktrctrl_mask = OMAP3430ES2_CLKTRCTRL_SGX_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430ES2),
> @@ -177,7 +177,7 @@ static struct clockdomain sgx_clkdm = {
>   */
>  static struct clockdomain d2d_clkdm = {
>  	.name		= "d2d_clkdm",
> -	.pwrdm_name	= "core_pwrdm",
> +	.pwrdm		= { .name = "core_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP,
>  	.clktrctrl_mask = OMAP3430ES1_CLKTRCTRL_D2D_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
> @@ -185,7 +185,7 @@ static struct clockdomain d2d_clkdm = {
>  
>  static struct clockdomain core_l3_34xx_clkdm = {
>  	.name		= "core_l3_clkdm",
> -	.pwrdm_name	= "core_pwrdm",
> +	.pwrdm		= { .name = "core_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP,
>  	.clktrctrl_mask = OMAP3430_CLKTRCTRL_L3_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
> @@ -193,7 +193,7 @@ static struct clockdomain core_l3_34xx_clkdm = {
>  
>  static struct clockdomain core_l4_34xx_clkdm = {
>  	.name		= "core_l4_clkdm",
> -	.pwrdm_name	= "core_pwrdm",
> +	.pwrdm		= { .name = "core_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP,
>  	.clktrctrl_mask = OMAP3430_CLKTRCTRL_L4_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
> @@ -201,7 +201,7 @@ static struct clockdomain core_l4_34xx_clkdm = {
>  
>  static struct clockdomain dss_34xx_clkdm = {
>  	.name		= "dss_clkdm",
> -	.pwrdm_name	= "dss_pwrdm",
> +	.pwrdm		= { .name = "dss_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP_SWSUP,
>  	.clktrctrl_mask = OMAP3430_CLKTRCTRL_DSS_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
> @@ -209,7 +209,7 @@ static struct clockdomain dss_34xx_clkdm = {
>  
>  static struct clockdomain cam_clkdm = {
>  	.name		= "cam_clkdm",
> -	.pwrdm_name	= "cam_pwrdm",
> +	.pwrdm		= { .name = "cam_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP_SWSUP,
>  	.clktrctrl_mask = OMAP3430_CLKTRCTRL_CAM_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
> @@ -217,7 +217,7 @@ static struct clockdomain cam_clkdm = {
>  
>  static struct clockdomain usbhost_clkdm = {
>  	.name		= "usbhost_clkdm",
> -	.pwrdm_name	= "usbhost_pwrdm",
> +	.pwrdm		= { .name = "usbhost_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP_SWSUP,
>  	.clktrctrl_mask = OMAP3430ES2_CLKTRCTRL_USBHOST_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430ES2),
> @@ -225,7 +225,7 @@ static struct clockdomain usbhost_clkdm = {
>  
>  static struct clockdomain per_clkdm = {
>  	.name		= "per_clkdm",
> -	.pwrdm_name	= "per_pwrdm",
> +	.pwrdm		= { .name = "per_pwrdm" },
>  	.flags		= CLKDM_CAN_HWSUP_SWSUP,
>  	.clktrctrl_mask = OMAP3430_CLKTRCTRL_PER_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
> @@ -233,7 +233,7 @@ static struct clockdomain per_clkdm = {
>  
>  static struct clockdomain emu_clkdm = {
>  	.name		= "emu_clkdm",
> -	.pwrdm_name	= "emu_pwrdm",
> +	.pwrdm		= { .name = "emu_pwrdm" },
>  	.flags		= CLKDM_CAN_ENABLE_AUTO | CLKDM_CAN_SWSUP,
>  	.clktrctrl_mask = OMAP3430_CLKTRCTRL_EMU_MASK,
>  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
> @@ -247,14 +247,16 @@ static struct clockdomain emu_clkdm = {
>  
>  static struct clkdm_pwrdm_autodep clkdm_pwrdm_autodeps[] = {
>  	{
> -		.pwrdm_name = "mpu_pwrdm",
> +		.pwrdm	   = { .name = "mpu_pwrdm" },
>  		.omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430)
>  	},
>  	{
> -		.pwrdm_name = "iva2_pwrdm",
> +		.pwrdm	   = { .name = "iva2_pwrdm" },
>  		.omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430)
>  	},
> -	{ NULL }
> +	{
> +		.pwrdm	   = { .name = NULL },
> +	}
>  };
>  
>  /*
> diff --git a/include/asm-arm/arch-omap/clockdomain.h b/include/asm-arm/arch-omap/clockdomain.h
> index d2a4551..b58bb73 100644
> --- a/include/asm-arm/arch-omap/clockdomain.h
> +++ b/include/asm-arm/arch-omap/clockdomain.h
> @@ -48,11 +48,13 @@
>   */
>  struct clkdm_pwrdm_autodep {
>  
> -	/* Name of the powerdomain to add a wkdep/sleepdep on */
> -	const char *pwrdm_name;
> +	union {
> +		/* Name of the powerdomain to add a wkdep/sleepdep on */
> +		const char *name;
>  
> -	/* Powerdomain pointer (looked up at clkdm_init() time) */
> -	struct powerdomain *pwrdm;
> +		/* Powerdomain pointer (looked up at clkdm_init() time) */
> +		struct powerdomain *ptr;
> +	} pwrdm;
>  
>  	/* OMAP chip types that this clockdomain dep is valid on */
>  	const struct omap_chip_id omap_chip;
> @@ -64,8 +66,13 @@ struct clockdomain {
>  	/* Clockdomain name */
>  	const char *name;
>  
> -	/* Powerdomain enclosing this clockdomain */
> -	const char *pwrdm_name;
> +	union {
> +		/* Powerdomain enclosing this clockdomain */
> +		const char *name;
> +
> +		/* Powerdomain pointer assigned at clkdm_register() */
> +		struct powerdomain *ptr;
> +	} pwrdm;
>  
>  	/* CLKTRCTRL/AUTOSTATE field mask in CM_CLKSTCTRL reg */
>  	const u16 clktrctrl_mask;
> @@ -79,9 +86,6 @@ struct clockdomain {
>  	/* Usecount tracking */
>  	atomic_t usecount;
>  
> -	/* Powerdomain pointer assigned at clkdm_register() */
> -	struct powerdomain *pwrdm;
> -
>  	struct list_head node;
>  
>  };
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

      reply	other threads:[~2008-08-05 13:27 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-18  8:22 [PATCH] OMAP2/3 clockdomains: combine pwrdm, pwrdm_name into union in struct clockdomain Paul Walmsley
2008-08-05 13:27 ` Tony Lindgren [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080805132752.GG7193@atomide.com \
    --to=tony@atomide.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=paul@pwsan.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.