mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
new helper to create platform devices with dma mask
compared to the most powerful and already existing helper (namely platform_device_register_resndata) this allows to specify a dma_mask. To make eventual extensions later more easy, a struct holding the used information is created instead of passing the information by function parameters. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
b7565fa3a4
commit
01dcc60a7c
2 changed files with 77 additions and 21 deletions
|
@ -49,10 +49,54 @@ extern struct resource *platform_get_resource_byname(struct platform_device *, u
|
|||
extern int platform_get_irq_byname(struct platform_device *, const char *);
|
||||
extern int platform_add_devices(struct platform_device **, int);
|
||||
|
||||
extern struct platform_device *platform_device_register_resndata(
|
||||
struct platform_device_info {
|
||||
struct device *parent;
|
||||
|
||||
const char *name;
|
||||
int id;
|
||||
|
||||
const struct resource *res;
|
||||
unsigned int num_res;
|
||||
|
||||
const void *data;
|
||||
size_t size_data;
|
||||
u64 dma_mask;
|
||||
};
|
||||
extern struct platform_device *platform_device_register_full(
|
||||
struct platform_device_info *pdevinfo);
|
||||
|
||||
/**
|
||||
* platform_device_register_resndata - add a platform-level device with
|
||||
* resources and platform-specific data
|
||||
*
|
||||
* @parent: parent device for the device we're adding
|
||||
* @name: base name of the device we're adding
|
||||
* @id: instance id
|
||||
* @res: set of resources that needs to be allocated for the device
|
||||
* @num: number of resources
|
||||
* @data: platform specific data for this platform device
|
||||
* @size: size of platform specific data
|
||||
*
|
||||
* Returns &struct platform_device pointer on success, or ERR_PTR() on error.
|
||||
*/
|
||||
static inline struct platform_device *platform_device_register_resndata(
|
||||
struct device *parent, const char *name, int id,
|
||||
const struct resource *res, unsigned int num,
|
||||
const void *data, size_t size);
|
||||
const void *data, size_t size) {
|
||||
|
||||
struct platform_device_info pdevinfo = {
|
||||
.parent = parent,
|
||||
.name = name,
|
||||
.id = id,
|
||||
.res = res,
|
||||
.num_res = num,
|
||||
.data = data,
|
||||
.size_data = size,
|
||||
.dma_mask = 0,
|
||||
};
|
||||
|
||||
return platform_device_register_full(&pdevinfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* platform_device_register_simple - add a platform-level device and its resources
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue