include/linux/sunxi-rsb.h

Source file repositories/reference/linux-study-clean/include/linux/sunxi-rsb.h

File Facts

System
Linux kernel
Corpus path
include/linux/sunxi-rsb.h
Extension
.h
Size
2956 bytes
Lines
106
Domain
Core OS
Bucket
Core Kernel Interface
Inferred role
Core OS: operation-table or driver-model contract
Status
pattern implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

struct device_driver driver;
	int (*probe)(struct sunxi_rsb_device *rdev);
	void (*remove)(struct sunxi_rsb_device *rdev);
};

static inline struct sunxi_rsb_driver *to_sunxi_rsb_driver(struct device_driver *d)
{
	return container_of(d, struct sunxi_rsb_driver, driver);
}

int sunxi_rsb_driver_register(struct sunxi_rsb_driver *rdrv);

/**
 * sunxi_rsb_driver_unregister() - unregister an RSB client driver
 * @rdrv:	the driver to unregister
 */
static inline void sunxi_rsb_driver_unregister(struct sunxi_rsb_driver *rdrv)
{
	if (rdrv)
		driver_unregister(&rdrv->driver);
}

#define module_sunxi_rsb_driver(__sunxi_rsb_driver) \
	module_driver(__sunxi_rsb_driver, sunxi_rsb_driver_register, \
			sunxi_rsb_driver_unregister)

struct regmap *__devm_regmap_init_sunxi_rsb(struct sunxi_rsb_device *rdev,
					    const struct regmap_config *config,
					    struct lock_class_key *lock_key,
					    const char *lock_name);

/**
 * devm_regmap_init_sunxi_rsb(): Initialise managed register map
 *
 * @rdev: Device that will be interacted with
 * @config: Configuration for register map
 *
 * The return value will be an ERR_PTR() on error or a valid pointer
 * to a struct regmap.  The regmap will be automatically freed by the
 * device management code.
 */
#define devm_regmap_init_sunxi_rsb(rdev, config)			\
	__regmap_lockdep_wrapper(__devm_regmap_init_sunxi_rsb, #config,	\
				 rdev, config)

#endif /* _SUNXI_RSB_H */

Annotation

Implementation Notes