mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-29 22:43:10 +00:00
41575d8e4c
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>
54 lines
1.1 KiB
C
54 lines
1.1 KiB
C
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* Copyright (c) 2016, NVIDIA CORPORATION.
|
|
*/
|
|
|
|
#include <common.h>
|
|
#include <dm.h>
|
|
#include <mailbox.h>
|
|
#include <malloc.h>
|
|
#include <asm/io.h>
|
|
|
|
struct sandbox_mbox_test {
|
|
struct mbox_chan chan;
|
|
};
|
|
|
|
int sandbox_mbox_test_get(struct udevice *dev)
|
|
{
|
|
struct sandbox_mbox_test *sbmt = dev_get_priv(dev);
|
|
|
|
return mbox_get_by_name(dev, "test", &sbmt->chan);
|
|
}
|
|
|
|
int sandbox_mbox_test_send(struct udevice *dev, uint32_t msg)
|
|
{
|
|
struct sandbox_mbox_test *sbmt = dev_get_priv(dev);
|
|
|
|
return mbox_send(&sbmt->chan, &msg);
|
|
}
|
|
|
|
int sandbox_mbox_test_recv(struct udevice *dev, uint32_t *msg)
|
|
{
|
|
struct sandbox_mbox_test *sbmt = dev_get_priv(dev);
|
|
|
|
return mbox_recv(&sbmt->chan, msg, 100);
|
|
}
|
|
|
|
int sandbox_mbox_test_free(struct udevice *dev)
|
|
{
|
|
struct sandbox_mbox_test *sbmt = dev_get_priv(dev);
|
|
|
|
return mbox_free(&sbmt->chan);
|
|
}
|
|
|
|
static const struct udevice_id sandbox_mbox_test_ids[] = {
|
|
{ .compatible = "sandbox,mbox-test" },
|
|
{ }
|
|
};
|
|
|
|
U_BOOT_DRIVER(sandbox_mbox_test) = {
|
|
.name = "sandbox_mbox_test",
|
|
.id = UCLASS_MISC,
|
|
.of_match = sandbox_mbox_test_ids,
|
|
.priv_auto = sizeof(struct sandbox_mbox_test),
|
|
};
|