projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dm: serial: ns16550: Convert to livetree
[oweals/u-boot.git]
/
drivers
/
serial
/
serial-uclass.c
diff --git
a/drivers/serial/serial-uclass.c
b/drivers/serial/serial-uclass.c
index f154eb156ca3c02aae825caff946c9320131535f..200f4b9fd720a780b98f6af3d7fc1319a6a11784 100644
(file)
--- a/
drivers/serial/serial-uclass.c
+++ b/
drivers/serial/serial-uclass.c
@@
-33,7
+33,13
@@
static void serial_find_console_or_panic(void)
struct udevice *dev;
int node;
struct udevice *dev;
int node;
- if (CONFIG_IS_ENABLED(OF_CONTROL) && blob) {
+ if (CONFIG_IS_ENABLED(OF_PLATDATA)) {
+ uclass_first_device(UCLASS_SERIAL, &dev);
+ if (dev) {
+ gd->cur_serial_dev = dev;
+ return;
+ }
+ } else if (CONFIG_IS_ENABLED(OF_CONTROL) && blob) {
/* Check for a chosen console */
node = fdtdec_get_chosen_node(blob, "stdout-path");
if (node < 0) {
/* Check for a chosen console */
node = fdtdec_get_chosen_node(blob, "stdout-path");
if (node < 0) {
@@
-68,7
+74,8
@@
static void serial_find_console_or_panic(void)
* bind it anyway.
*/
if (node > 0 &&
* bind it anyway.
*/
if (node > 0 &&
- !lists_bind_fdt(gd->dm_root, blob, node, &dev)) {
+ !lists_bind_fdt(gd->dm_root, offset_to_ofnode(node),
+ &dev)) {
if (!device_probe(dev)) {
gd->cur_serial_dev = dev;
return;
if (!device_probe(dev)) {
gd->cur_serial_dev = dev;
return;
@@
-115,7
+122,7
@@
int serial_init(void)
/* Called after relocation */
void serial_initialize(void)
{
/* Called after relocation */
void serial_initialize(void)
{
- serial_
find_console_or_panic
();
+ serial_
init
();
}
static void _serial_putc(struct udevice *dev, char ch)
}
static void _serial_putc(struct udevice *dev, char ch)
@@
-205,27
+212,30
@@
void serial_stdio_init(void)
{
}
{
}
-#if defined(CONFIG_DM_STDIO) && CONFIG_IS_ENABLED(SERIAL_PRESENT)
+#if defined(CONFIG_DM_STDIO)
+
+#if CONFIG_IS_ENABLED(SERIAL_PRESENT)
static void serial_stub_putc(struct stdio_dev *sdev, const char ch)
{
_serial_putc(sdev->priv, ch);
}
#endif
static void serial_stub_putc(struct stdio_dev *sdev, const char ch)
{
_serial_putc(sdev->priv, ch);
}
#endif
-void serial_stub_puts(struct stdio_dev *sdev, const char *str)
+
static
void serial_stub_puts(struct stdio_dev *sdev, const char *str)
{
_serial_puts(sdev->priv, str);
}
{
_serial_puts(sdev->priv, str);
}
-int serial_stub_getc(struct stdio_dev *sdev)
+
static
int serial_stub_getc(struct stdio_dev *sdev)
{
return _serial_getc(sdev->priv);
}
{
return _serial_getc(sdev->priv);
}
-int serial_stub_tstc(struct stdio_dev *sdev)
+
static
int serial_stub_tstc(struct stdio_dev *sdev)
{
return _serial_tstc(sdev->priv);
}
{
return _serial_tstc(sdev->priv);
}
+#endif
/**
* on_baudrate() - Update the actual baudrate when the env var changes
/**
* on_baudrate() - Update the actual baudrate when the env var changes
@@
-340,10
+350,10
@@
static int serial_post_probe(struct udevice *dev)
static int serial_pre_remove(struct udevice *dev)
{
static int serial_pre_remove(struct udevice *dev)
{
-#if
def CONFIG_SYS_STDIO_DEREGISTER
+#if
CONFIG_IS_ENABLED(SYS_STDIO_DEREGISTER)
struct serial_dev_priv *upriv = dev_get_uclass_priv(dev);
struct serial_dev_priv *upriv = dev_get_uclass_priv(dev);
- if (stdio_deregister_dev(upriv->sdev,
0
))
+ if (stdio_deregister_dev(upriv->sdev,
true
))
return -EPERM;
#endif
return -EPERM;
#endif