On Wed, 2008-01-30 at 01:14 +1100, Michael Ellerman wrote:
> Split out the ioid fetching and checking logic so we can use it elsewhere
> in a subsequent patch.
> 
> Signed-off-by: Michael Ellerman <[EMAIL PROTECTED]>

Acked-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]>

> ---
>  arch/powerpc/platforms/cell/iommu.c |   23 +++++++++++++++++------
>  1 files changed, 17 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/powerpc/platforms/cell/iommu.c 
> b/arch/powerpc/platforms/cell/iommu.c
> index 7779dbf..3baade1 100644
> --- a/arch/powerpc/platforms/cell/iommu.c
> +++ b/arch/powerpc/platforms/cell/iommu.c
> @@ -443,25 +443,36 @@ static struct iommu_window *find_window(struct 
> cbe_iommu *iommu,
>  }
>  #endif
>  
> +static inline u32 cell_iommu_get_ioid(struct device_node *np)
> +{
> +     const u32 *ioid;
> +
> +     ioid = of_get_property(np, "ioid", NULL);
> +     if (ioid == NULL) {
> +             printk(KERN_WARNING "iommu: missing ioid for %s using 0\n",
> +                    np->full_name);
> +             return 0;
> +     }
> +
> +     return *ioid;
> +}
> +
>  static struct iommu_window * __init
>  cell_iommu_setup_window(struct cbe_iommu *iommu, struct device_node *np,
>                       unsigned long offset, unsigned long size,
>                       unsigned long pte_offset)
>  {
>       struct iommu_window *window;
> -     const unsigned int *ioid;
> +     u32 ioid;
>  
> -     ioid = of_get_property(np, "ioid", NULL);
> -     if (ioid == NULL)
> -             printk(KERN_WARNING "iommu: missing ioid for %s using 0\n",
> -                    np->full_name);
> +     ioid = cell_iommu_get_ioid(np);
>  
>       window = kmalloc_node(sizeof(*window), GFP_KERNEL, iommu->nid);
>       BUG_ON(window == NULL);
>  
>       window->offset = offset;
>       window->size = size;
> -     window->ioid = ioid ? *ioid : 0;
> +     window->ioid = ioid;
>       window->iommu = iommu;
>       window->pte_offset = pte_offset;
>  

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to