On Tue, Dec 19, 2017 at 4:45 PM, Kaihua Zhong <zhongkaihua@xxxxxxxxxx> wrote: ..... > diff --git a/drivers/mailbox/hi3660-mailbox.c b/drivers/mailbox/hi3660-mailbox.c > new file mode 100644 > index 0000000..3ceca40 > --- /dev/null > +++ b/drivers/mailbox/hi3660-mailbox.c > @@ -0,0 +1,319 @@ > +// SPDX-License-Identifier: GPL-2.0 > +// Copyright (c) 2017 Hisilicon Limited. > +// Copyright (c) 2017 Linaro Limited. A blank here please. > +#include <linux/bitops.h> > +#include <linux/delay.h> > +#include <linux/device.h> > +#include <linux/err.h> > +#include <linux/interrupt.h> > +#include <linux/io.h> > +#include <linux/iopoll.h> ..... > + > +static inline struct hi3660_mbox *to_hi3660_mbox(struct mbox_controller *mbox) > inline in .c is out of fasion these days > +{ > + return container_of(mbox, struct hi3660_mbox, controller); > +} > + .... > + > +static int hi3660_mbox_startup(struct mbox_chan *chan) > +{ > + int ret; > + > + ret = hi3660_mbox_check_state(chan); > + if (ret) > + return ret; > + > + ret = hi3660_mbox_unlock(chan); > + if (ret) > + return ret; > + > + ret = hi3660_mbox_acquire_channel(chan); > + if (ret) > + return ret; > + > + return 0; > +} Do you not need to do "release channel" for shutdown() ? ..... > + > +static int hi3660_mbox_send_data(struct mbox_chan *chan, void *msg) > +{ > + return hi3660_mbox_send(chan, msg); > Please directly have hi3660_mbox_send as .send_data Cheers! -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html