On Fri, May 8, 2009 at 12:14 AM, Felipe Balbi <[email protected]> wrote:
> On Thu, May 07, 2009 at 10:11:07PM +0200, ext Felipe Contreras wrote:
>> -static struct resource omap3_iommu_res[] = {
>> - { /* Camera ISP MMU */
>> - .start = OMAP3_MMU1_BASE,
>> - .end = OMAP3_MMU1_BASE + MMU_REG_SIZE - 1,
>> - .flags = IORESOURCE_MEM,
>> - },
>> - {
>> - .start = OMAP3_MMU1_IRQ,
>> - .flags = IORESOURCE_IRQ,
>> - },
>> - { /* IVA2.2 MMU */
>> - .start = OMAP3_MMU2_BASE,
>> - .end = OMAP3_MMU2_BASE + MMU_REG_SIZE - 1,
>> - .flags = IORESOURCE_MEM,
>> - },
>> - {
>> - .start = OMAP3_MMU2_IRQ,
>> - .flags = IORESOURCE_IRQ,
>> - },
>
> i find this one much more readable :-s
You find an array of 'struct resource' more readable than this?
+ .base = 0x480bd400,
+ .irq = 24,
+ .base = 0x5d000000,
+ .irq = 28,
+ res[0].start = d->base;
+ res[0].end = d->base + MMU_REG_SIZE - 1;
+
+ res[1].start = d->irq;
How would you calculate the number of resources per iommu device?
How about these?
- err = platform_device_add_resources(pdev,
- &omap3_iommu_res[2 * i], NR_IOMMU_RES);
+ err = platform_device_add_resources(pdev, res, ARRAY_SIZE(res));
if (err)
goto err_out;
- err = platform_device_add_data(pdev, &omap3_iommu_pdata[i],
- sizeof(omap3_iommu_pdata[0]));
+ err = platform_device_add_data(pdev, &d->pdata,
sizeof(d->pdata));
if (err)
goto err_out;
Do you find the original version easier to read?
>> +struct iommu_device {
>> + resource_size_t base;
>> + resource_size_t irq;
>> + struct iommu_platform_data pdata;
>
> generally, platform_data is a void *. Don't know if it matters here.
Yes but we need to set the actual contents for platform_device_add_data.
>> + struct resource res[2];
>> };
>> -#define NR_IOMMU_RES (ARRAY_SIZE(omap3_iommu_res) / 2)
>>
>> -static const struct iommu_platform_data omap3_iommu_pdata[] __initconst = {
>> +static struct iommu_device devices[] = {
>> {
>> - .name = "isp",
>> - .nr_tlb_entries = 8,
>> - .clk_name = "cam_ick",
>> + .base = 0x480bd400,
>> + .irq = 24,
>> + .pdata = {
>> + .name = "isp",
>> + .nr_tlb_entries = 8,
>> + .clk_name = "cam_ick",
>
> still passing clk names ? what about clkdev ?
That's for iommu to fix. I'm simply interested on decoupling iommu and
a hypothetical tidspbridge that doesn't exists yet.
--
Felipe Contreras
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html