dm: serial: ns16550: Update to support of-platdata

With of-platdata this driver cannot know the format of the of-platdata
struct, so we cannot use generic code for accessing the of-platdata. Each
SoC that uses this driver will need to set up ns16550's platdata for it.
So don't compile in the generic code.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2016-07-04 11:58:23 -06:00
parent 1e6ca1a6ad
commit b2927fbaa8

View file

@ -347,7 +347,7 @@ int ns16550_serial_probe(struct udevice *dev)
return 0; return 0;
} }
#if CONFIG_IS_ENABLED(OF_CONTROL) #if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
int ns16550_serial_ofdata_to_platdata(struct udevice *dev) int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
{ {
struct ns16550_platdata *plat = dev->platdata; struct ns16550_platdata *plat = dev->platdata;
@ -416,6 +416,7 @@ const struct dm_serial_ops ns16550_serial_ops = {
.setbrg = ns16550_serial_setbrg, .setbrg = ns16550_serial_setbrg,
}; };
#if !CONFIG_IS_ENABLED(OF_PLATDATA)
#if CONFIG_IS_ENABLED(OF_CONTROL) #if CONFIG_IS_ENABLED(OF_CONTROL)
/* /*
* Please consider existing compatible strings before adding a new * Please consider existing compatible strings before adding a new
@ -452,4 +453,5 @@ U_BOOT_DRIVER(ns16550_serial) = {
.flags = DM_FLAG_PRE_RELOC, .flags = DM_FLAG_PRE_RELOC,
}; };
#endif #endif
#endif /* !OF_PLATDATA */
#endif /* CONFIG_DM_SERIAL */ #endif /* CONFIG_DM_SERIAL */