On 19:41 Wed 19 Sep , Sascha Hauer wrote: > On Wed, Sep 19, 2012 at 04:47:55PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote: > > This will crash when use registered bus with device registered to it. > > > > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> > > --- > > arch/sandbox/board/Makefile | 1 + > > arch/sandbox/board/console.c | 2 +- > > arch/sandbox/board/devices.c | 35 +++++++++++++++++++++++++++++++++++ > > arch/sandbox/board/hostfile.c | 19 +++++++++++++++++-- > > 4 files changed, 54 insertions(+), 3 deletions(-) > > create mode 100644 arch/sandbox/board/devices.c > > > > diff --git a/arch/sandbox/board/Makefile b/arch/sandbox/board/Makefile > > index 266c3a3..5104f5c 100644 > > --- a/arch/sandbox/board/Makefile > > +++ b/arch/sandbox/board/Makefile > > @@ -2,5 +2,6 @@ obj-y += board.o > > obj-y += clock.o > > obj-y += hostfile.o > > obj-y += console.o > > +obj-y += devices.o > > > > extra-y += barebox.lds > > diff --git a/arch/sandbox/board/console.c b/arch/sandbox/board/console.c > > index 18b63e1..b0afa54 100644 > > --- a/arch/sandbox/board/console.c > > +++ b/arch/sandbox/board/console.c > > @@ -44,6 +44,6 @@ int barebox_register_console(char *name, int stdinfd, int stdoutfd) > > data->stdoutfd = stdoutfd; > > data->stdinfd = stdinfd; > > > > - return register_device(dev); > > + return sandbox_add_device(dev); > > } > > > > diff --git a/arch/sandbox/board/devices.c b/arch/sandbox/board/devices.c > > new file mode 100644 > > index 0000000..d3fad78 > > --- /dev/null > > +++ b/arch/sandbox/board/devices.c > > @@ -0,0 +1,35 @@ > > +/* > > + * Copyright (c) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> > > + * > > + * Under GPLv2 only > > + */ > > + > > +#include <common.h> > > +#include <driver.h> > > +#include <init.h> > > + > > +static LIST_HEAD(sandbox_device_list); > > + > > +int sandbox_add_device(struct device_d *dev) > > +{ > > + if (!dev) > > + return -EINVAL; > > Can we please agree that everyone registering NULL pointers deserves a > nice crash? I do not see a reason to check this. All these kinds of > checks do is cover bugs and make tracking them down harder. I agree but not on the crash we need to use BUG_ON Best Regards, J. _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox