From: Vitor Soares <Vitor.Soares@synopsys.com> To: Greg KH <gregkh@linuxfoundation.org> Cc: Joao Pinto <Joao.Pinto@synopsys.com>, "arnd@arndb.de" <arnd@arndb.de>, "wsa@the-dreams.de" <wsa@the-dreams.de>, "bbrezillon@kernel.org" <bbrezillon@kernel.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "broonie@kernel.org" <broonie@kernel.org>, "linux-i3c@lists.infradead.org" <linux-i3c@lists.infradead.org> Subject: RE: [RFC 3/5] i3c: device: expose transfer strutures to uapi Date: Thu, 12 Dec 2019 14:48:57 +0000 Message-ID: <CH2PR12MB4216295D1763BF4C0E5FEC85AE550@CH2PR12MB4216.namprd12.prod.outlook.com> (raw) In-Reply-To: <20191212144233.GA1668196@kroah.com> HI Greg, From: Greg KH <gregkh@linuxfoundation.org> Date: Thu, Dec 12, 2019 at 14:42:33 > On Tue, Dec 10, 2019 at 04:37:31PM +0100, Vitor Soares wrote: > > --- /dev/null > > +++ b/include/uapi/linux/i3c/device.h > > @@ -0,0 +1,66 @@ > > +/* SPDX-License-Identifier: GPL-2.0 */ > > Not a valid uapi SPDX license :( Sorry, I missed that one. I already got the right SPDX. > > > > +/* > > + * Copyright (c) 2019 Synopsys, Inc. and/or its affiliates. > > + * > > + * Author: Vitor Soares <vitor.soares@synopsys.com> > > + */ > > + > > +#ifndef _UAPI_LINUX_I3C_DEVICE_H > > +#define _UAPI_LINUX_I3C_DEVICE_H > > + > > +#include <linux/types.h> > > + > > +/** > > + * enum i3c_error_code - I3C error codes > > + * > > + * These are the standard error codes as defined by the I3C specification. > > + * When -EIO is returned by the i3c_device_do_priv_xfers() or > > + * i3c_device_send_hdr_cmds() one can check the error code in > > + * &struct_i3c_priv_xfer.err or &struct i3c_hdr_cmd.err to get a better idea of > > + * what went wrong. > > + * > > + * @I3C_ERROR_UNKNOWN: unknown error, usually means the error is not I3C > > + * related > > + * @I3C_ERROR_M0: M0 error > > + * @I3C_ERROR_M1: M1 error > > + * @I3C_ERROR_M2: M2 error > > + */ > > +enum i3c_error_code { > > + I3C_ERROR_UNKNOWN = 0, > > + I3C_ERROR_M0 = 1, > > + I3C_ERROR_M1, > > + I3C_ERROR_M2, > > You have to specify all of these. > > > +}; > > + > > +/** > > + * enum i3c_hdr_mode - HDR mode ids > > + * @I3C_HDR_DDR: DDR mode > > + * @I3C_HDR_TSP: TSP mode > > + * @I3C_HDR_TSL: TSL mode > > + */ > > +enum i3c_hdr_mode { > > + I3C_HDR_DDR, > > + I3C_HDR_TSP, > > + I3C_HDR_TSL, > > same here. > > > > +}; > > + > > +/** > > + * struct i3c_priv_xfer - I3C SDR private transfer > > + * @rnw: encodes the transfer direction. true for a read, false for a write > > + * @len: transfer length in bytes of the transfer > > + * @data: input/output buffer > > + * @data.in: input buffer. Must point to a DMA-able buffer > > + * @data.out: output buffer. Must point to a DMA-able buffer > > + * @err: I3C error code > > + */ > > +struct i3c_priv_xfer { > > + u8 rnw; > > + u16 len; > > + union { > > + void *in; > > + const void *out; > > + } data; > > + enum i3c_error_code err; > > Ick, that's a horrid user/kernel api structure that will not work at > all. > > Please fix. > > thanks, > > greg k-h Thanks for your feedback, I will address it in next version. Best regards, Vitor Soares _______________________________________________ linux-i3c mailing list linux-i3c@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-i3c
next prev parent reply index Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-12-10 15:37 [RFC 0/5] Introduce i3c device userspace interface Vitor Soares 2019-12-10 15:37 ` [RFC 1/5] i3c: master: export i3c_masterdev_type Vitor Soares 2019-12-10 15:37 ` [RFC 2/5] i3c: master: export i3c_bus_type symbol Vitor Soares 2019-12-10 15:37 ` [RFC 3/5] i3c: device: expose transfer strutures to uapi Vitor Soares 2019-12-12 14:42 ` Greg KH 2019-12-12 14:48 ` Vitor Soares [this message] 2019-12-10 15:37 ` [RFC 4/5] i3c: master: add i3c_for_each_dev helper Vitor Soares 2019-12-10 15:37 ` [RFC 5/5] i3c: add i3cdev module to expose i3c dev in /dev Vitor Soares 2019-12-10 17:51 ` Arnd Bergmann 2019-12-10 19:15 ` Vitor Soares 2019-12-10 19:37 ` Arnd Bergmann 2019-12-11 15:07 ` Vitor Soares 2019-12-11 15:33 ` Arnd Bergmann 2019-12-20 12:39 ` Vitor Soares 2019-12-12 14:44 ` Greg KH 2019-12-12 14:56 ` Vitor Soares 2019-12-12 16:00 ` Greg KH 2019-12-12 17:25 ` Vitor Soares 2019-12-12 17:32 ` Greg KH 2019-12-12 14:46 ` Greg KH
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CH2PR12MB4216295D1763BF4C0E5FEC85AE550@CH2PR12MB4216.namprd12.prod.outlook.com \ --to=vitor.soares@synopsys.com \ --cc=Joao.Pinto@synopsys.com \ --cc=arnd@arndb.de \ --cc=bbrezillon@kernel.org \ --cc=broonie@kernel.org \ --cc=gregkh@linuxfoundation.org \ --cc=linux-i3c@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=wsa@the-dreams.de \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Linux-i3c Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-i3c/0 linux-i3c/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-i3c linux-i3c/ https://lore.kernel.org/linux-i3c \ linux-i3c@lists.infradead.org public-inbox-index linux-i3c Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.infradead.lists.linux-i3c AGPL code for this site: git clone https://public-inbox.org/public-inbox.git