RE: [RFC 3/3] OMAP3: omap_device: Add support to associate a device with an initiator

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

 



Rajendra,

>-----Original Message-----
>From: linux-omap-owner@xxxxxxxxxxxxxxx
>[mailto:linux-omap-owner@xxxxxxxxxxxxxxx] On Behalf Of Rajendra Nayak
>Sent: Monday, March 21, 2011 4:40 PM
>To: linux-omap@xxxxxxxxxxxxxxx
>Cc: paul@xxxxxxxxx; b-cousson@xxxxxx; Rajendra Nayak
>Subject: [RFC 3/3] OMAP3: omap_device: Add support to
>associate a device with an initiator
>
>These api's are meant to to used by drivers to
>associate/disassociate a device from a given initiator.
>
>Signed-off-by: Rajendra Nayak <rnayak@xxxxxx>
>---
> arch/arm/plat-omap/omap_device.c |   54
>++++++++++++++++++++++++++++++++++++++
> 1 files changed, 54 insertions(+), 0 deletions(-)
>
>diff --git a/arch/arm/plat-omap/omap_device.c
>b/arch/arm/plat-omap/omap_device.c
>index 9bbda9a..0cd05d2 100644
>--- a/arch/arm/plat-omap/omap_device.c
>+++ b/arch/arm/plat-omap/omap_device.c
>@@ -662,6 +662,60 @@ int omap_device_shutdown(struct
>platform_device *pdev)
> 	return ret;
> }
>
>+static int omap_device_add_initiator_user(struct
>platform_device *pdev,
>+					  u8 init_id)
>+{
>+	int i;
>+	struct omap_device *od;
>+
>+	od = _find_by_pdev(pdev);
>+
>+	if (od->_state != OMAP_DEVICE_STATE_ENABLED)
>+		return -EINVAL;
>+
>+	for (i = 0; i < od->hwmods_cnt; i++)
>+		omap_hwmod_add_initiator_user(od->hwmods[i], init_id);

Not checking for return value.

>+
>+	return 0;
>+}
>+
>+inline int omap_device_add_mpu_user(struct platform_device *pdev)
>+{
>+	return omap_device_add_initiator_user(pdev, OMAP_INIT_MPU);
>+}
>+
>+inline int omap_device_add_iva_user(struct platform_device *pdev)
>+{
>+	return omap_device_add_initiator_user(pdev, OMAP_INIT_IVA);

Ditto..

>+}
>+
>+static int omap_device_del_initiator_user(struct
>platform_device *pdev,
>+					  u8 init_id)
>+{
>+	int i;
>+	struct omap_device *od;
>+
>+	od = _find_by_pdev(pdev);
>+
>+	if (od->_state == OMAP_DEVICE_STATE_ENABLED)
>+		return -EINVAL;
>+
>+	for (i = 0; i < od->hwmods_cnt; i++)
>+		omap_hwmod_del_initiator_user(od->hwmods[i], init_id);
>+
>+	return 0;
>+}
>+
>+inline int omap_device_del_mpu_user(struct platform_device *pdev)
>+{
>+	return omap_device_del_initiator_user(pdev, OMAP_INIT_MPU);
>+}
>+
>+inline int omap_device_del_iva_user(struct platform_device *pdev)
>+{
>+	return omap_device_del_initiator_user(pdev, OMAP_INIT_IVA);
>+}
>+
> /**
>  * omap_device_align_pm_lat - activate/deactivate device to
>match wakeup lat lim
>  * @od: struct omap_device *
>--
>1.7.0.4
>
>--
>To unsubscribe from this list: send the line "unsubscribe
>linux-omap" in
>the body of a message to majordomo@xxxxxxxxxxxxxxx
>More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux