mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-24 22:36:05 +00:00

This construct is quite long-winded. In earlier days it made some sense since auto-allocation was a strange concept. But with driver model now used pretty universally, we can shorten this to 'auto'. This reduces verbosity and makes it easier to read. Coincidentally it also ensures that every declaration is on one line, thus making dtoc's job easier. Signed-off-by: Simon Glass <sjg@chromium.org>
47 lines
1 KiB
C
47 lines
1 KiB
C
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* Copyright (c) 2013 Google, Inc
|
|
*
|
|
* (C) Copyright 2012
|
|
* Pavel Herrmann <morpheus.ibis@gmail.com>
|
|
*/
|
|
|
|
#include <common.h>
|
|
#include <dm.h>
|
|
#include <dm-demo.h>
|
|
#include <mapmem.h>
|
|
#include <asm/io.h>
|
|
|
|
static int simple_hello(struct udevice *dev, int ch)
|
|
{
|
|
const struct dm_demo_pdata *pdata = dev_get_platdata(dev);
|
|
|
|
printf("Hello from %08x: %s %d\n", (uint)map_to_sysmem(dev), pdata->colour,
|
|
pdata->sides);
|
|
|
|
return 0;
|
|
}
|
|
|
|
static const struct demo_ops simple_ops = {
|
|
.hello = simple_hello,
|
|
};
|
|
|
|
static int demo_shape_ofdata_to_platdata(struct udevice *dev)
|
|
{
|
|
/* Parse the data that is common with all demo devices */
|
|
return demo_parse_dt(dev);
|
|
}
|
|
|
|
static const struct udevice_id demo_shape_id[] = {
|
|
{ "demo-simple", 0 },
|
|
{ },
|
|
};
|
|
|
|
U_BOOT_DRIVER(demo_simple_drv) = {
|
|
.name = "demo_simple_drv",
|
|
.of_match = demo_shape_id,
|
|
.id = UCLASS_DEMO,
|
|
.ofdata_to_platdata = demo_shape_ofdata_to_platdata,
|
|
.ops = &simple_ops,
|
|
.platdata_auto = sizeof(struct dm_demo_pdata),
|
|
};
|