OMAP4: powerdomains: add PRCM partition data; use OMAP4 PRM functions
OMAP4 powerdomain control registers are split between the PRM hardware module and the PRCM_MPU local PRCM. Add this PRCM partition information to each OMAP4 powerdomain record, and convert the OMAP4 powerdomain function implementations to use the OMAP4 PRM instance functions. Also fixes a potential null pointer dereference of pwrdm->name. The autogeneration scripts have been updated. Signed-off-by: Paul Walmsley <paul@pwsan.com> Cc: Rajendra Nayak <rnayak@ti.com> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com> Cc: Benoît Cousson <b-cousson@ti.com> Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Tested-by: Rajendra Nayak <rnayak@ti.com>
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
#include <linux/errno.h>
|
||||
#include <linux/string.h>
|
||||
#include "cm2xxx_3xxx.h"
|
||||
#include "prcm44xx.h"
|
||||
#include "cm44xx.h"
|
||||
#include "prm2xxx_3xxx.h"
|
||||
#include "prm44xx.h"
|
||||
@@ -72,12 +73,19 @@ static int _pwrdm_register(struct powerdomain *pwrdm)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (!pwrdm)
|
||||
if (!pwrdm || !pwrdm->name)
|
||||
return -EINVAL;
|
||||
|
||||
if (!omap_chip_is(pwrdm->omap_chip))
|
||||
return -EINVAL;
|
||||
|
||||
if (cpu_is_omap44xx() &&
|
||||
pwrdm->prcm_partition == OMAP4430_INVALID_PRCM_PARTITION) {
|
||||
pr_err("powerdomain: %s: missing OMAP4 PRCM partition ID\n",
|
||||
pwrdm->name);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (_pwrdm_lookup(pwrdm->name))
|
||||
return -EEXIST;
|
||||
|
||||
|
Reference in New Issue
Block a user