~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm/mach-omap2/omap_device.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0-only */
  2 /*
  3  * omap_device headers
  4  *
  5  * Copyright (C) 2009 Nokia Corporation
  6  * Paul Walmsley
  7  *
  8  * Developed in collaboration with (alphabetical order): Benoit
  9  * Cousson, Kevin Hilman, Tony Lindgren, Rajendra Nayak, Vikram
 10  * Pandita, Sakari Poussa, Anand Sawant, Santosh Shilimkar, Richard
 11  * Woodruff
 12  *
 13  * This type of functionality should be implemented as a proper
 14  * omap_bus/omap_device in Linux.
 15  *
 16  * omap_device differs from omap_hwmod in that it includes external
 17  * (e.g., board- and system-level) integration details.  omap_hwmod
 18  * stores hardware data that is invariant for a given OMAP chip.
 19  */
 20 #ifndef __ARCH_ARM_PLAT_OMAP_INCLUDE_MACH_OMAP_DEVICE_H
 21 #define __ARCH_ARM_PLAT_OMAP_INCLUDE_MACH_OMAP_DEVICE_H
 22 
 23 #include <linux/kernel.h>
 24 #include <linux/platform_device.h>
 25 
 26 #include "omap_hwmod.h"
 27 
 28 /* omap_device._state values */
 29 #define OMAP_DEVICE_STATE_UNKNOWN       0
 30 #define OMAP_DEVICE_STATE_ENABLED       1
 31 #define OMAP_DEVICE_STATE_IDLE          2
 32 #define OMAP_DEVICE_STATE_SHUTDOWN      3
 33 
 34 /* omap_device.flags values */
 35 #define OMAP_DEVICE_SUSPENDED           BIT(0)
 36 
 37 /**
 38  * struct omap_device - omap_device wrapper for platform_devices
 39  * @pdev: platform_device
 40  * @hwmods: (one .. many per omap_device)
 41  * @hwmods_cnt: ARRAY_SIZE() of @hwmods
 42  * @_state: one of OMAP_DEVICE_STATE_* (see above)
 43  * @flags: device flags
 44  * @_driver_status: one of BUS_NOTIFY_*_DRIVER from <linux/device.h>
 45  *
 46  * Integrates omap_hwmod data into Linux platform_device.
 47  *
 48  * Field names beginning with underscores are for the internal use of
 49  * the omap_device code.
 50  *
 51  */
 52 struct omap_device {
 53         struct platform_device          *pdev;
 54         struct omap_hwmod               **hwmods;
 55         unsigned long                   _driver_status;
 56         u8                              hwmods_cnt;
 57         u8                              _state;
 58         u8                              flags;
 59 };
 60 
 61 /* Device driver interface (call via platform_data fn ptrs) */
 62 
 63 int omap_device_enable(struct platform_device *pdev);
 64 int omap_device_idle(struct platform_device *pdev);
 65 
 66 /* Other */
 67 
 68 int omap_device_assert_hardreset(struct platform_device *pdev,
 69                                  const char *name);
 70 int omap_device_deassert_hardreset(struct platform_device *pdev,
 71                                  const char *name);
 72 
 73 /* Get omap_device pointer from platform_device pointer */
 74 static inline struct omap_device *to_omap_device(struct platform_device *pdev)
 75 {
 76         return pdev ? pdev->archdata.od : NULL;
 77 }
 78 #endif
 79 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php