Re: [PATCH 1/2] staging: iio: adc: ad7192: Add clock for external clock reference
On Fri, Jan 25, 2019 at 12:41 AM Stephen Boyd wrote: > > Quoting Jonathan Cameron (2018-12-16 02:07:41) > > Rob, Clk experts, questions for you below. > > > > Jonathan > > > > > > On Thu, 13 Dec 2018 17:39:22 -0800 > > Stephen Boyd wrote: > > > > > Quoting Jonathan Cameron (2018-12-08 07:29:54) > > > > On Thu, 6 Dec 2018 11:10:51 +0200 > > > > Mircea Caprioru wrote: > > > > > > > > > This patch adds a clock to the state structure of ad7192 for getting > > > > > the > > > > > external clock frequency. This modifications is in accordance with > > > > > clock > > > > > framework dt bindings documentation. > > > > > > > > > > Signed-off-by: Mircea Caprioru > > > > > > > > +cc Rob and the clk list for advise on how to do the binding for this > > > > one. > > > > > > > > It is basically 2 pins, you can put a clock in on one of them or connect > > > > a crystal across them. The driver has to set a register to say which is > > > > the case. > > > > > > > > Current proposal is two optional clocks (fall back to internal > > > > oscillator) > > > > but that doesn't seem to be commonly done, so I'm wondering if there > > > > is a 'standard' way to handle this sort of thing. > > > > > > > > > > I'm not sure I fully understand, but I think perhaps > > > assigned-clock-parents would work? Or does that not work because either > > > way some parent is assigned, either the crystal or the optional clk that > > > isn't a crystal? > > > > > My concern is they aren't really separate clock inputs. They are just > > different > > ways of providing the same fundamental clock. So I think we may want to > > just > > provide a single clock and have another dt binding to say what it is. > > > > So lots of ways we could do it, but I'm not sure what the right one to > > go with is! > > > > Sorry for getting back to this so late. Is the datasheet public for this > device? If so, any link to it? > Hey, Link is http://analog.com/ad7192 and that should resolve to the proper page, where the datasheet is available. [ General info: most [if not all] datasheets from Analog Devices can be found by concatenating "http://analog.com/ + "" ] But more directly, the link to the PDF is: https://www.analog.com/media/en/technical-documentation/data-sheets/AD7192.pdf Page 10 provides some description of the pins, page 20 the mode register for the clock, and page 32 a general description of the clock. If you search for MCLK1 or MCLK2 you should navigate pretty quick through the doc. The clock circuitry [the 2 pins] is common for all chips this driver supports [AD7190/2/3/5]. Thanks Alex > If it's two pins, and sometimes one pin is connected and other times two > pins are connected but a register needs to be set if the pins are > connected in one configuration or the other I would say your plan for a > DT property indicating how the pins are configured sounds good. Usually > the hardware can figure these things out itself so I find this sort of > odd, but if this is how it is then there's not much that we can do. > > It sounds like there aren't two different clk inputs to the device. > Given that information specifying two optional clks is incorrect because > there is only one 'slot' is the external clk source. > ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging:iio:ad7152: Rename misspelled RESEVERD -> RESERVED
On Thu, Jan 24, 2019 at 9:35 PM Rodrigo Ribeiro wrote: > > Remove the checkpatch.pl check: > > CHECK: 'RESEVERD' may be misspelled - perhaps 'RESERVED'? Hey, A bit curios about this one. Are you using this chip/driver ? Thing is: the part is nearing EOL, and it could be an idea to be marked for removal (since it's still in staging). But if there are users for this driver, it could be left around for a while. Thanks Alex > > Signed-off-by: Rodrigo Ribeiro > Signed-off-by: Rafael Tsuha > --- > This macro is not used anywhere. Should we just correct the > spelling or remove the macro? > > drivers/staging/iio/cdc/ad7152.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/staging/iio/cdc/ad7152.c > b/drivers/staging/iio/cdc/ad7152.c > index 25f51db..c9da6d4 100644 > --- a/drivers/staging/iio/cdc/ad7152.c > +++ b/drivers/staging/iio/cdc/ad7152.c > @@ -35,7 +35,7 @@ > #define AD7152_REG_CH2_GAIN_HIGH 12 > #define AD7152_REG_CH2_SETUP 14 > #define AD7152_REG_CFG 15 > -#define AD7152_REG_RESEVERD16 > +#define AD7152_REG_RESERVED16 > #define AD7152_REG_CAPDAC_POS 17 > #define AD7152_REG_CAPDAC_NEG 18 > #define AD7152_REG_CFG226 > -- > 2.7.4 > ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v2 2/2] media: cedrus: Add HEVC/H.265 decoding support
Hi, On Thu, Jan 24, 2019 at 02:10:25PM +0100, Paul Kocialkowski wrote: > On Tue, 2018-11-27 at 09:21 +0100, Maxime Ripard wrote: > > Hi! > > > > On Fri, Nov 23, 2018 at 02:02:09PM +0100, Paul Kocialkowski wrote: > > > This introduces support for HEVC/H.265 to the Cedrus VPU driver, with > > > both uni-directional and bi-directional prediction modes supported. > > > > > > Field-coded (interlaced) pictures, custom quantization matrices and > > > 10-bit output are not supported at this point. > > > > > > Signed-off-by: Paul Kocialkowski > > > > Output from checkpatch: > > total: 0 errors, 68 warnings, 14 checks, 999 lines checked > > Looks like many of the "line over 80 chars" are due to macros. I don't > think it would be a good idea to break them down or to change the > macros names since they are directly inherited from the bitstream > elements. > > What do you think? Yeah, the 80-chars limit can be ignored. But there's more warnings and checks that should be addressed. > > > + /* Output frame. */ > > > + > > > + output_pic_list_index = V4L2_HEVC_DPB_ENTRIES_NUM_MAX; > > > + pic_order_cnt[0] = pic_order_cnt[1] = slice_params->slice_pic_order_cnt; > > > + mv_col_buf_addr[0] = cedrus_h265_frame_info_mv_col_buf_addr(ctx, > > > + run->dst->vb2_buf.index, 0) - PHYS_OFFSET; > > > + mv_col_buf_addr[1] = cedrus_h265_frame_info_mv_col_buf_addr(ctx, > > > + run->dst->vb2_buf.index, 1) - PHYS_OFFSET; > > > + dst_luma_addr = cedrus_dst_buf_addr(ctx, run->dst->vb2_buf.index, 0) - > > > + PHYS_OFFSET; > > > + dst_chroma_addr = cedrus_dst_buf_addr(ctx, run->dst->vb2_buf.index, 1) - > > > + PHYS_OFFSET; > > > + > > > + cedrus_h265_frame_info_write_single(dev, output_pic_list_index, > > > + slice_params->pic_struct != 0, > > > + pic_order_cnt, mv_col_buf_addr, > > > + dst_luma_addr, dst_chroma_addr); > > > > You can only pass the run and slice_params pointers to that function. > > The point is to make it independent from the context, so that the same > function can be called with either the slice_params or the dpb info. > I don't think making two variants or even two wrappers would bring any > significant benefit. Then you can still pass directly the vb2 buffer pointer, that would remove the mv_col_buf_addr, dst_luma_addr and dst_chroma_addr. The idea here is that the less arguments you have in your function, the easier it is to understand. > > > + > > > + cedrus_write(dev, VE_DEC_H265_OUTPUT_FRAME_IDX, output_pic_list_index); > > > + > > > + /* Reference picture list 0 (for P/B frames). */ > > > + if (slice_params->slice_type != V4L2_HEVC_SLICE_TYPE_I) { > > > + cedrus_h265_ref_pic_list_write(dev, slice_params->ref_idx_l0, > > > + slice_params->num_ref_idx_l0_active_minus1 + 1, > > > + slice_params->dpb, slice_params->num_active_dpb_entries, > > > + VE_DEC_H265_SRAM_OFFSET_REF_PIC_LIST0); > > > + > > > > slice_params is enough. > > The rationale is similar to the one above: being able to use the same > helper with either L0 or L1, which implies passing the relevant > elements directly. The DPB and num_active_dpb_entries will not change from one run to the other though. And having intermediate functions if that allows to be clearer is fine as well. Maxime -- Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com signature.asc Description: PGP signature ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 1/2] staging: erofs: use xattr_prefix to wrap up
Let's use xattr_prefix instead of open code. No logic changes. Signed-off-by: Gao Xiang --- drivers/staging/erofs/xattr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/erofs/xattr.c b/drivers/staging/erofs/xattr.c index 1c9498e38f0e..eca65df46133 100644 --- a/drivers/staging/erofs/xattr.c +++ b/drivers/staging/erofs/xattr.c @@ -521,7 +521,7 @@ static int xattr_entrylist(struct xattr_iter *_it, return 1; /* Note that at least one of 'prefix' and 'name' should be non-NULL */ - prefix = h->prefix != NULL ? h->prefix : h->name; + prefix = xattr_prefix(h); prefix_len = strlen(prefix); if (it->buffer == NULL) { -- 2.14.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 2/2] staging: erofs: complete POSIX ACL support
Let's add .get_acl() to read the file's acl from its xattrs to make POSIX ACL usable. Signed-off-by: Gao Xiang --- This [PATCH 2/2] currently hasn't tested, please ignore temporarily... I will test it asap... Thanks, Gao Xiang drivers/staging/erofs/inode.c | 3 +++ drivers/staging/erofs/namei.c | 1 + drivers/staging/erofs/xattr.c | 40 drivers/staging/erofs/xattr.h | 6 ++ 4 files changed, 50 insertions(+) diff --git a/drivers/staging/erofs/inode.c b/drivers/staging/erofs/inode.c index 4f04f7c38cf2..924b8dfc7a8f 100644 --- a/drivers/staging/erofs/inode.c +++ b/drivers/staging/erofs/inode.c @@ -287,6 +287,7 @@ const struct inode_operations erofs_generic_iops = { #ifdef CONFIG_EROFS_FS_XATTR .listxattr = erofs_listxattr, #endif + .get_acl = erofs_get_acl, }; const struct inode_operations erofs_symlink_iops = { @@ -294,6 +295,7 @@ const struct inode_operations erofs_symlink_iops = { #ifdef CONFIG_EROFS_FS_XATTR .listxattr = erofs_listxattr, #endif + .get_acl = erofs_get_acl, }; const struct inode_operations erofs_fast_symlink_iops = { @@ -301,5 +303,6 @@ const struct inode_operations erofs_fast_symlink_iops = { #ifdef CONFIG_EROFS_FS_XATTR .listxattr = erofs_listxattr, #endif + .get_acl = erofs_get_acl, }; diff --git a/drivers/staging/erofs/namei.c b/drivers/staging/erofs/namei.c index 7fed1f996ab0..b1752adc5934 100644 --- a/drivers/staging/erofs/namei.c +++ b/drivers/staging/erofs/namei.c @@ -238,5 +238,6 @@ const struct inode_operations erofs_dir_iops = { #ifdef CONFIG_EROFS_FS_XATTR .listxattr = erofs_listxattr, #endif + .get_acl = erofs_get_acl, }; diff --git a/drivers/staging/erofs/xattr.c b/drivers/staging/erofs/xattr.c index eca65df46133..ee66ebffbb93 100644 --- a/drivers/staging/erofs/xattr.c +++ b/drivers/staging/erofs/xattr.c @@ -644,3 +644,43 @@ ssize_t erofs_listxattr(struct dentry *dentry, return shared_listxattr(&it); } +#ifdef CONFIG_EROFS_FS_POSIX_ACL +struct posix_acl *erofs_get_acl(struct inode *inode, int type) +{ + struct posix_acl *acl; + int ea_prefix, rc; + char *ea_name; + char *value = NULL; + + switch (type) { + case ACL_TYPE_ACCESS: + ea_prefix = EROFS_XATTR_INDEX_POSIX_ACL_ACCESS; + ea_name = XATTR_NAME_POSIX_ACL_ACCESS; + break; + case ACL_TYPE_DEFAULT: + ea_prefix = EROFS_XATTR_INDEX_POSIX_ACL_DEFAULT; + ea_name = XATTR_NAME_POSIX_ACL_DEFAULT; + break; + default: + return ERR_PTR(-EINVAL); + } + + rc = erofs_getxattr(inode, ea_prefix, ea_name, NULL, 0); + if (rc > 0) { + value = kvmalloc(rc, GFP_KERNEL); + if (!value) + return ERR_PTR(-ENOMEM); + rc = erofs_getxattr(inode, ea_prefix, ea_name, value, rc); + } + + if (rc == -ENOATTR) + acl = NULL; + else if (rc < 0) + acl = ERR_PTR(rc); + else + acl = posix_acl_from_xattr(&init_user_ns, value, rc); + kvfree(value); + return acl; +} +#endif + diff --git a/drivers/staging/erofs/xattr.h b/drivers/staging/erofs/xattr.h index 634dae9aaa0b..35ba5ac2139a 100644 --- a/drivers/staging/erofs/xattr.h +++ b/drivers/staging/erofs/xattr.h @@ -87,5 +87,11 @@ static ssize_t __maybe_unused erofs_listxattr(struct dentry *dentry, } #endif +#ifdef CONFIG_EROFS_FS_POSIX_ACL +struct posix_acl *erofs_get_acl(struct inode *inode, int type); +#else +#define erofs_get_acl (NULL) +#endif + #endif -- 2.14.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[GIT PULL] Staging driver fixes for 5.0-rc4
The following changes since commit 1c7fc5cbc33980acd13d668f1c8f0313d6ae9fd8: Linux 5.0-rc2 (2019-01-14 10:41:12 +1200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git tags/staging-5.0-rc4 for you to fetch changes up to 31eb79db420a3f94c4c45a8c0a05cd30e333f981: staging: android: ion: Support cpu access during dma_buf_detach (2019-01-22 11:38:09 +0100) Staging driver fixes for 5.0-rc4 Here are some small staging driver fixes for 5.0-rc4. They resolve some reported bugs and add a new device id for one driver. Nothing major at all, but all good to have. All of these have been in linux-next for a while with no reported issues. Signed-off-by: Greg Kroah-Hartman Dan Carpenter (1): Staging: wilc1000: unlock on error in init_chip() Gustavo A. R. Silva (1): staging: wilc1000: fix memory leak in wilc_add_rx_gtk Július Milan (1): staging: wilc1000: fix registration frame size Liam Mark (1): staging: android: ion: Support cpu access during dma_buf_detach Michael Straube (1): staging: rtl8188eu: Add device code for D-Link DWA-121 rev B1 Nathan Chancellor (1): staging: rtl8723bs: Fix build error with Clang when inlining is disabled Phil Elwell (1): staging: vchiq: Fix local event signalling drivers/staging/android/ion/ion.c | 2 +- drivers/staging/rtl8188eu/os_dep/usb_intf.c| 1 + drivers/staging/rtl8723bs/include/ieee80211.h | 6 +++--- drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c | 1 + drivers/staging/wilc1000/host_interface.c | 5 ++--- drivers/staging/wilc1000/wilc_wlan.c | 7 --- 6 files changed, 12 insertions(+), 10 deletions(-) ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [linux-sunxi] [PATCH v2 1/2] media: v4l: Add definitions for the HEVC slice format and controls
Hi, On Thu, 2019-01-24 at 20:23 +0800, Ayaka wrote: > > Sent from my iPad > > > On Jan 24, 2019, at 6:27 PM, Paul Kocialkowski > > wrote: > > > > Hi, > > > > > On Thu, 2019-01-10 at 21:32 +0800, ayaka wrote: > > > I forget a important thing, for the rkvdec and rk hevc decoder, it would > > > requests cabac table, scaling list, picture parameter set and reference > > > picture storing in one or various of DMA buffers. I am not talking about > > > the data been parsed, the decoder would requests a raw data. > > > > > > For the pps and rps, it is possible to reuse the slice header, just let > > > the decoder know the offset from the bitstream bufer, I would suggest to > > > add three properties(with sps) for them. But I think we need a method to > > > mark a OUTPUT side buffer for those aux data. > > > > I'm quite confused about the hardware implementation then. From what > > you're saying, it seems that it takes the raw bitstream elements rather > > than parsed elements. Is it really a stateless implementation? > > > > The stateless implementation was designed with the idea that only the > > raw slice data should be passed in bitstream form to the decoder. For > > H.264, it seems that some decoders also need the slice header in raw > > bitstream form (because they take the full slice NAL unit), see the > > discussions in this thread: > > media: docs-rst: Document m2m stateless video decoder interface > > Stateless just mean it won’t track the previous result, but I don’t > think you can define what a date the hardware would need. Even you > just build a dpb for the decoder, it is still stateless, but parsing > less or more data from the bitstream doesn’t stop a decoder become a > stateless decoder. Yes fair enough, the format in which the hardware decoder takes the bitstream parameters does not make it stateless or stateful per-se. It's just that stateless decoders should have no particular reason for parsing the bitstream on their own since the hardware can be designed with registers for each relevant bitstream element to configure the decoding pipeline. That's how GPU-based decoder implementations are implemented (VAAPI/VDPAU/NVDEC, etc). So the format we have agreed on so far for the stateless interface is to pass parsed elements via v4l2 control structures. If the hardware can only work by parsing the bitstream itself, I'm not sure what the best solution would be. Reconstructing the bitstream in the kernel is a pretty bad option, but so is parsing in the kernel or having the data both in parsed and raw forms. Do you see another possibility? Cheers, Paul > > Can you detail exactly what the rockchip decoder absolutely needs in > > raw bitstream format? > > > > Cheers, > > > > Paul > > > > > > On 1/8/19 6:00 PM, Ayaka wrote: > > > > Sent from my iPad > > > > > > > > > On Jan 8, 2019, at 4:38 PM, Paul Kocialkowski > > > > > wrote: > > > > > > > > > > Hi, > > > > > > > > > > > On Tue, 2019-01-08 at 09:16 +0800, Ayaka wrote: > > > > > > > > > > > > Sent from my iPad > > > > > > > > > > > > > On Jan 7, 2019, at 5:57 PM, Paul Kocialkowski > > > > > > > wrote: > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > > > On Mon, 2019-01-07 at 11:49 +0800, Randy Li wrote: > > > > > > > > > On 12/12/18 8:51 PM, Paul Kocialkowski wrote: > > > > > > > > > Hi, > > > > > > > > > > > > > > > > > > On Wed, 2018-12-05 at 21:59 +0100, Jernej Škrabec wrote: > > > > > > > > > > > > > > > > > > > > + > > > > > > > > > > > +#define V4L2_HEVC_DPB_ENTRY_RPS_ST_CURR_BEFORE0x01 > > > > > > > > > > > +#define V4L2_HEVC_DPB_ENTRY_RPS_ST_CURR_AFTER0x02 > > > > > > > > > > > +#define V4L2_HEVC_DPB_ENTRY_RPS_LT_CURR0x03 > > > > > > > > > > > + > > > > > > > > > > > +#define V4L2_HEVC_DPB_ENTRIES_NUM_MAX16 > > > > > > > > > > > + > > > > > > > > > > > +struct v4l2_hevc_dpb_entry { > > > > > > > > > > > +__u32buffer_tag; > > > > > > > > > > > +__u8rps; > > > > > > > > > > > +__u8field_pic; > > > > > > > > > > > +__u16pic_order_cnt[2]; > > > > > > > > > > > +}; > > > > > > > > Please add a property for reference index, if that rps is not > > > > > > > > used for > > > > > > > > this, some device would request that(not the rockchip one). And > > > > > > > > Rockchip's VDPU1 and VDPU2 for AVC would request a similar > > > > > > > > property. > > > > > > > What exactly is that reference index? Is it a bitstream element or > > > > > > > something deduced from the bitstream? > > > > > > > > > > > > > picture order count(POC) for HEVC and frame_num in AVC. I think it > > > > > > is > > > > > > the number used in list0(P slice and B slice) and list1(B slice). > > > > > The picture order count is already the last field of the DPB entry > > > > > structure. There is one for each field picture. > > > > As we are not sure whether there is a field coded slice or CTU, I would > > > > hold this part and else about the field. > > > > > > > > Adding anot
Re: [PATCH 1/2] staging: erofs: use xattr_prefix to wrap up
On Fri, Jan 25, 2019 at 07:51:03PM +0800, Gao Xiang wrote: > Let's use xattr_prefix instead of open code. > No logic changes. > > Signed-off-by: Gao Xiang > --- > drivers/staging/erofs/xattr.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/staging/erofs/xattr.c b/drivers/staging/erofs/xattr.c > index 1c9498e38f0e..eca65df46133 100644 > --- a/drivers/staging/erofs/xattr.c > +++ b/drivers/staging/erofs/xattr.c > @@ -521,7 +521,7 @@ static int xattr_entrylist(struct xattr_iter *_it, > return 1; > > /* Note that at least one of 'prefix' and 'name' should be non-NULL */ The comment is sort of confusing now. > - prefix = h->prefix != NULL ? h->prefix : h->name; > + prefix = xattr_prefix(h); > prefix_len = strlen(prefix); regards, dan carpenter ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 2/2] staging: erofs: complete POSIX ACL support
On Fri, Jan 25, 2019 at 08:01:04PM +0800, Gao Xiang wrote: > Let's add .get_acl() to read the file's acl > from its xattrs to make POSIX ACL usable. > > Signed-off-by: Gao Xiang > --- > This [PATCH 2/2] currently hasn't tested, please ignore temporarily... > I will test it asap... This is an awkward thing. Just don't send it until after you test it. We also ignore RFC patches so if you mark it as RFC that will be ignored if you want. regards, dan carpenter ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 2/2] staging: erofs: complete POSIX ACL support
Hi Dan, On 2019/1/25 21:30, Dan Carpenter wrote: > On Fri, Jan 25, 2019 at 08:01:04PM +0800, Gao Xiang wrote: >> Let's add .get_acl() to read the file's acl >> from its xattrs to make POSIX ACL usable. >> >> Signed-off-by: Gao Xiang >> --- >> This [PATCH 2/2] currently hasn't tested, please ignore temporarily... >> I will test it asap... > > This is an awkward thing. > > Just don't send it until after you test it. We also ignore RFC patches > so if you mark it as RFC that will be ignored if you want. Yes, you are right. Actually I just want to send the only [PATCH 1/2], but I missed to change the subject of [PATCH 1/2] -> [PATCH]...Therefore I have to send this incomplete one to complete this "patchset" by mistake... Thanks, Gao Xiang > > regards, > dan carpenter > ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/2] staging: erofs: use xattr_prefix to wrap up
Hi Dan, On 2019/1/25 21:26, Dan Carpenter wrote: > On Fri, Jan 25, 2019 at 07:51:03PM +0800, Gao Xiang wrote: >> Let's use xattr_prefix instead of open code. >> No logic changes. >> >> Signed-off-by: Gao Xiang >> --- >> drivers/staging/erofs/xattr.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/staging/erofs/xattr.c b/drivers/staging/erofs/xattr.c >> index 1c9498e38f0e..eca65df46133 100644 >> --- a/drivers/staging/erofs/xattr.c >> +++ b/drivers/staging/erofs/xattr.c >> @@ -521,7 +521,7 @@ static int xattr_entrylist(struct xattr_iter *_it, >> return 1; >> >> /* Note that at least one of 'prefix' and 'name' should be non-NULL */ > > The comment is sort of confusing now. OK, I will remove this line. And I think I will send the whole patchset instead of this cleanup patch only after I test the ACL feature and confirm that it works. Sorry again about the [PATCH 2/2]... Thanks, Gao Xiang > >> -prefix = h->prefix != NULL ? h->prefix : h->name; >> +prefix = xattr_prefix(h); >> prefix_len = strlen(prefix); > > regards, > dan carpenter > ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: mt7621-pinctrl: Remove space after cast
On Wed, Jan 23, 2019 at 09:45:53AM -0800, Joe Perches wrote: > On Wed, 2019-01-23 at 22:01 +0530, Nishad Kamdar wrote: > > This patch removes space after a cast as it > > is not needed. > > Issue found by checkpatch. > > > > Signed-off-by: Nishad Kamdar > > --- > > drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c > > b/drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c > > index 80e7067cfb79..3e959fa73703 100644 > > --- a/drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c > > +++ b/drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c > > @@ -363,7 +363,7 @@ static int rt2880_pinmux_probe(struct platform_device > > *pdev) > > } > > > > range = devm_kzalloc(p->dev, sizeof(*range) + 4, GFP_KERNEL); > > - range->name = name = (char *) &range[1]; > > + range->name = name = (char *)&range[1]; > > sprintf(name, "pio"); > > I find this code unsightly and fragile. > It doesn't test the return of devm_kzalloc for failure. > > This might as well be > --- > drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c | 8 > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c > b/drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c > index 80e7067cfb79..9b52d44abef1 100644 > --- a/drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c > +++ b/drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c > @@ -350,7 +350,6 @@ static int rt2880_pinmux_probe(struct platform_device > *pdev) > for_each_compatible_node(np, NULL, "ralink,rt2880-gpio") { > const __be32 *ngpio, *gpiobase; > struct pinctrl_gpio_range *range; > - char *name; > > if (!of_device_is_available(np)) > continue; > @@ -362,9 +361,10 @@ static int rt2880_pinmux_probe(struct platform_device > *pdev) > return -EINVAL; > } > > - range = devm_kzalloc(p->dev, sizeof(*range) + 4, GFP_KERNEL); > - range->name = name = (char *) &range[1]; > - sprintf(name, "pio"); > + range = devm_kzalloc(p->dev, sizeof(*range), GFP_KERNEL); > + if (!range) > + return -ENOMEM; > + range->name = "pio"; > range->npins = __be32_to_cpu(*ngpio); > range->base = __be32_to_cpu(*gpiobase); > range->pin_base = range->base; > > > Ok, I'll include it as a new patch as I think this one has already been accepted. Thanks for the review. Regards, Nishad ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v2 2/2] staging: erofs: complete POSIX ACL support
Let's add .get_acl() to read the file's acl from its xattrs to make POSIX ACL usable. Here is the on-disk detail, fullname: system.posix_acl_access struct erofs_xattr_entry: .e_name_len = 0 .e_name_index = EROFS_XATTR_INDEX_POSIX_ACL_ACCESS (2) fullname: system.posix_acl_default struct erofs_xattr_entry: .e_name_len = 0 .e_name_index = EROFS_XATTR_INDEX_POSIX_ACL_DEFAULT (3) Signed-off-by: Gao Xiang --- change log v2: - add the missing SB_POSIXACL flag; - fix the on-disk detail, use .e_name_len == 0 and proper prefix value; - tested ok with xattr enabled erofs_mkfs; .../erofs/Documentation/filesystems/erofs.txt | 2 ++ drivers/staging/erofs/inode.c | 3 ++ drivers/staging/erofs/namei.c | 1 + drivers/staging/erofs/super.c | 8 + drivers/staging/erofs/xattr.c | 37 ++ drivers/staging/erofs/xattr.h | 6 6 files changed, 57 insertions(+) diff --git a/drivers/staging/erofs/Documentation/filesystems/erofs.txt b/drivers/staging/erofs/Documentation/filesystems/erofs.txt index 803988d74c21..961ec4da7705 100644 --- a/drivers/staging/erofs/Documentation/filesystems/erofs.txt +++ b/drivers/staging/erofs/Documentation/filesystems/erofs.txt @@ -36,6 +36,8 @@ Here is the main features of EROFS: - Support xattr inline and tail-end data inline for all files; + - Support POSIX.1e ACLs by using xattrs; + - Support transparent file compression as an option: LZ4 algorithm with 4 KB fixed-output compression for high performance; diff --git a/drivers/staging/erofs/inode.c b/drivers/staging/erofs/inode.c index 4f04f7c38cf2..924b8dfc7a8f 100644 --- a/drivers/staging/erofs/inode.c +++ b/drivers/staging/erofs/inode.c @@ -287,6 +287,7 @@ const struct inode_operations erofs_generic_iops = { #ifdef CONFIG_EROFS_FS_XATTR .listxattr = erofs_listxattr, #endif + .get_acl = erofs_get_acl, }; const struct inode_operations erofs_symlink_iops = { @@ -294,6 +295,7 @@ const struct inode_operations erofs_symlink_iops = { #ifdef CONFIG_EROFS_FS_XATTR .listxattr = erofs_listxattr, #endif + .get_acl = erofs_get_acl, }; const struct inode_operations erofs_fast_symlink_iops = { @@ -301,5 +303,6 @@ const struct inode_operations erofs_fast_symlink_iops = { #ifdef CONFIG_EROFS_FS_XATTR .listxattr = erofs_listxattr, #endif + .get_acl = erofs_get_acl, }; diff --git a/drivers/staging/erofs/namei.c b/drivers/staging/erofs/namei.c index 7fed1f996ab0..b1752adc5934 100644 --- a/drivers/staging/erofs/namei.c +++ b/drivers/staging/erofs/namei.c @@ -238,5 +238,6 @@ const struct inode_operations erofs_dir_iops = { #ifdef CONFIG_EROFS_FS_XATTR .listxattr = erofs_listxattr, #endif + .get_acl = erofs_get_acl, }; diff --git a/drivers/staging/erofs/super.c b/drivers/staging/erofs/super.c index 176fca2af379..54cd7dac0a1f 100644 --- a/drivers/staging/erofs/super.c +++ b/drivers/staging/erofs/super.c @@ -398,6 +398,14 @@ static int erofs_read_super(struct super_block *sb, if (!silent) infoln("root inode @ nid %llu", ROOT_NID(sbi)); +#ifdef CONFIG_EROFS_FS_POSIX_ACL + /* Update the POSIXACL Flag */ + if (test_opt(sbi, POSIX_ACL)) + sb->s_flags |= SB_POSIXACL; + else + sb->s_flags &= ~SB_POSIXACL; +#endif + #ifdef CONFIG_EROFS_FS_ZIP INIT_RADIX_TREE(&sbi->workstn_tree, GFP_ATOMIC); #endif diff --git a/drivers/staging/erofs/xattr.c b/drivers/staging/erofs/xattr.c index 7de46690d972..6759485ae862 100644 --- a/drivers/staging/erofs/xattr.c +++ b/drivers/staging/erofs/xattr.c @@ -643,3 +643,40 @@ ssize_t erofs_listxattr(struct dentry *dentry, return shared_listxattr(&it); } +#ifdef CONFIG_EROFS_FS_POSIX_ACL +struct posix_acl *erofs_get_acl(struct inode *inode, int type) +{ + struct posix_acl *acl; + int ea_prefix, rc; + char *value = NULL; + + switch(type) { + case ACL_TYPE_ACCESS: + ea_prefix = EROFS_XATTR_INDEX_POSIX_ACL_ACCESS; + break; + case ACL_TYPE_DEFAULT: + ea_prefix = EROFS_XATTR_INDEX_POSIX_ACL_DEFAULT; + break; + default: + return ERR_PTR(-EINVAL); + } + + rc = erofs_getxattr(inode, ea_prefix, "", NULL, 0); + if (rc > 0) { + value = kvmalloc(rc, GFP_KERNEL); + if (!value) + return ERR_PTR(-ENOMEM); + rc = erofs_getxattr(inode, ea_prefix, "", value, rc); + } + + if (rc == -ENOATTR) + acl = NULL; + else if (rc < 0) + acl = ERR_PTR(rc); + else + acl = posix_acl_from_xattr(&init_user_ns, value, rc); + kvfree(value); + return acl; +} +#endif + diff --git a/drivers/staging/erofs/xattr.h b/drivers/staging/erofs/xattr.h index 634dae9aaa0b..35
[PATCH v2 1/2] staging: erofs: use xattr_prefix to wrap up
Let's use xattr_prefix instead of open code. No logic changes. Signed-off-by: Gao Xiang --- change log v2: - remove the confusing line according to Dan Carpenter; drivers/staging/erofs/xattr.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/staging/erofs/xattr.c b/drivers/staging/erofs/xattr.c index 1c9498e38f0e..7de46690d972 100644 --- a/drivers/staging/erofs/xattr.c +++ b/drivers/staging/erofs/xattr.c @@ -520,8 +520,7 @@ static int xattr_entrylist(struct xattr_iter *_it, if (h == NULL || (h->list != NULL && !h->list(it->dentry))) return 1; - /* Note that at least one of 'prefix' and 'name' should be non-NULL */ - prefix = h->prefix != NULL ? h->prefix : h->name; + prefix = xattr_prefix(h); prefix_len = strlen(prefix); if (it->buffer == NULL) { -- 2.14.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Tails live usb Realtek rtlxxxau
Hi there I would really appreciate some help in getting this driver onto my tails usb it has persistence enabled. I have just spent the last 24 hours getting my new WiFi adapter working with kali Linux usb. I couldn’t not find much info on food this. Driver for AWUS036ACH Thanks in advance. Sent from my iPhone ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [GIT PULL] Staging driver fixes for 5.0-rc4
The pull request you sent on Fri, 25 Jan 2019 13:22:59 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git > tags/staging-5.0-rc4 has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/96f18cb89ffa4bc6dafa447c9493449809fbb318 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] tty: Fix WARNING in tty_set_termios
tty_set_termios() has the following WARMN_ON which can be triggered with a syscall to invoke TIOCGETD __NR_ioctl. WARN_ON(tty->driver->type == TTY_DRIVER_TYPE_PTY && tty->driver->subtype == PTY_TYPE_MASTER); Reference: https://syzkaller.appspot.com/bug?id=2410d22f1d8e5984217329dd0884b01d99e3e48d A simple change would have been to print error message instead of WARN_ON. However, the callers assume that tty_set_termios() always returns 0 and don't check return value. The complete solution is fixing all the callers to check error and bail out to fix the WARN_ON. This fix changes tty_set_termios() to return error and all the callers to check error and bail out. The reproducer is used to reproduce the problem and verify the fix. Reported-by: syzbot+a950165cbb86bdd02...@syzkaller.appspotmail.com Signed-off-by: Shuah Khan --- drivers/bluetooth/hci_ldisc.c | 8 ++-- drivers/staging/speakup/spk_ttyio.c | 4 +++- drivers/tty/serdev/serdev-ttyport.c | 20 +++- drivers/tty/tty_ioctl.c | 14 ++ net/nfc/nci/uart.c | 1 + 5 files changed, 35 insertions(+), 12 deletions(-) diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c index fbf7b4df23ab..643c4c75f86d 100644 --- a/drivers/bluetooth/hci_ldisc.c +++ b/drivers/bluetooth/hci_ldisc.c @@ -321,6 +321,8 @@ void hci_uart_set_flow_control(struct hci_uart *hu, bool enable) status = tty_set_termios(tty, &ktermios); BT_DBG("Disabling hardware flow control: %s", status ? "failed" : "success"); + if (status) + return; /* Clear RTS to prevent the device from sending */ /* Most UARTs need OUT2 to enable interrupts */ @@ -369,13 +371,15 @@ void hci_uart_set_baudrate(struct hci_uart *hu, unsigned int speed) { struct tty_struct *tty = hu->tty; struct ktermios ktermios; + int ret; ktermios = tty->termios; ktermios.c_cflag &= ~CBAUD; tty_termios_encode_baud_rate(&ktermios, speed, speed); - /* tty_set_termios() return not checked as it is always 0 */ - tty_set_termios(tty, &ktermios); + ret = tty_set_termios(tty, &ktermios); + if (ret) + return; BT_DBG("%s: New tty speeds: %d/%d", hu->hdev->name, tty->termios.c_ispeed, tty->termios.c_ospeed); diff --git a/drivers/staging/speakup/spk_ttyio.c b/drivers/staging/speakup/spk_ttyio.c index c92bbd05516e..ded6f8089fc8 100644 --- a/drivers/staging/speakup/spk_ttyio.c +++ b/drivers/staging/speakup/spk_ttyio.c @@ -165,7 +165,9 @@ static int spk_ttyio_initialise_ldisc(struct spk_synth *synth) get_termios(tty, &tmp_termios); if (!(tmp_termios.c_cflag & CRTSCTS)) { tmp_termios.c_cflag |= CRTSCTS; - tty_set_termios(tty, &tmp_termios); + ret = tty_set_termios(tty, &tmp_termios); + if (ret) + return ret; /* * check c_cflag to see if it's updated as tty_set_termios may not return * error even when no tty bits are changed by the request. diff --git a/drivers/tty/serdev/serdev-ttyport.c b/drivers/tty/serdev/serdev-ttyport.c index fa1672993b4c..29b51370deac 100644 --- a/drivers/tty/serdev/serdev-ttyport.c +++ b/drivers/tty/serdev/serdev-ttyport.c @@ -136,7 +136,9 @@ static int ttyport_open(struct serdev_controller *ctrl) ktermios.c_cflag |= CRTSCTS; /* Hangups are not supported so make sure to ignore carrier detect. */ ktermios.c_cflag |= CLOCAL; - tty_set_termios(tty, &ktermios); + ret = tty_set_termios(tty, &ktermios); + if (ret) + return ret; set_bit(SERPORT_ACTIVE, &serport->flags); @@ -171,12 +173,14 @@ static unsigned int ttyport_set_baudrate(struct serdev_controller *ctrl, unsigne struct serport *serport = serdev_controller_get_drvdata(ctrl); struct tty_struct *tty = serport->tty; struct ktermios ktermios = tty->termios; + int retval; ktermios.c_cflag &= ~CBAUD; tty_termios_encode_baud_rate(&ktermios, speed, speed); - /* tty_set_termios() return not checked as it is always 0 */ - tty_set_termios(tty, &ktermios); + retval = tty_set_termios(tty, &ktermios); + if (retval) + return retval; return ktermios.c_ospeed; } @@ -185,13 +189,16 @@ static void ttyport_set_flow_control(struct serdev_controller *ctrl, bool enable struct serport *serport = serdev_controller_get_drvdata(ctrl); struct tty_struct *tty = serport->tty; struct ktermios ktermios = tty->termios; + int retval; if (enable) ktermios.c_cflag |= CRTSCTS; else ktermios.c_cflag &= ~CRTSCTS; - tty_set_termios(tty, &ktermios); + retval = tty_set_t
Re: [PATCH] staging:iio:ad7152: Rename misspelled RESEVERD -> RESERVED
Em sex, 25 de jan de 2019 às 06:20, Alexandru Ardelean escreveu: > > On Thu, Jan 24, 2019 at 9:35 PM Rodrigo Ribeiro wrote: > > > > Remove the checkpatch.pl check: > > > > CHECK: 'RESEVERD' may be misspelled - perhaps 'RESERVED'? > > Hey, Hi, Thanks for answering. > A bit curios about this one. > Are you using this chip/driver ? No, I am just a student at USP (University of São Paulo) starting in Linux Kernel and a new member of the USP Linux Kernel group that has contributed for a few months. > Thing is: the part is nearing EOL, and it could be an idea to be > marked for removal (since it's still in staging). > But if there are users for this driver, it could be left around for a while. This is my first patch in Linux Kernel, but if the driver will be removed, I can send a patch for another driver. Is there any driver that I can fix a style warning? Thanks Em sex, 25 de jan de 2019 às 06:20, Alexandru Ardelean escreveu: > > On Thu, Jan 24, 2019 at 9:35 PM Rodrigo Ribeiro wrote: > > > > Remove the checkpatch.pl check: > > > > CHECK: 'RESEVERD' may be misspelled - perhaps 'RESERVED'? > > Hey, > > A bit curios about this one. > Are you using this chip/driver ? > > Thing is: the part is nearing EOL, and it could be an idea to be > marked for removal (since it's still in staging). > But if there are users for this driver, it could be left around for a while. > > Thanks > Alex > > > > > Signed-off-by: Rodrigo Ribeiro > > Signed-off-by: Rafael Tsuha > > --- > > This macro is not used anywhere. Should we just correct the > > spelling or remove the macro? > > > > drivers/staging/iio/cdc/ad7152.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/staging/iio/cdc/ad7152.c > > b/drivers/staging/iio/cdc/ad7152.c > > index 25f51db..c9da6d4 100644 > > --- a/drivers/staging/iio/cdc/ad7152.c > > +++ b/drivers/staging/iio/cdc/ad7152.c > > @@ -35,7 +35,7 @@ > > #define AD7152_REG_CH2_GAIN_HIGH 12 > > #define AD7152_REG_CH2_SETUP 14 > > #define AD7152_REG_CFG 15 > > -#define AD7152_REG_RESEVERD16 > > +#define AD7152_REG_RESERVED16 > > #define AD7152_REG_CAPDAC_POS 17 > > #define AD7152_REG_CAPDAC_NEG 18 > > #define AD7152_REG_CFG226 > > -- > > 2.7.4 > > ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging:iio:ad7152: Rename misspelled RESEVERD -> RESERVED
Em sex, 25 de jan de 2019 às 21:46, Rodrigo Ribeiro escreveu: > > Em sex, 25 de jan de 2019 às 06:20, Alexandru Ardelean > escreveu: > > > > On Thu, Jan 24, 2019 at 9:35 PM Rodrigo Ribeiro > > wrote: > > > > > > Remove the checkpatch.pl check: > > > > > > CHECK: 'RESEVERD' may be misspelled - perhaps 'RESERVED'? > > > > Hey, > > Hi, > > Thanks for answering. > > > A bit curios about this one. > > Are you using this chip/driver ? > > No, I am just a student at USP (University of São Paulo) starting in Linux > Kernel and a new member of the USP Linux Kernel group that has contributed > for a few months. > > > Thing is: the part is nearing EOL, and it could be an idea to be > > marked for removal (since it's still in staging). > > But if there are users for this driver, it could be left around for a while. > > This is my first patch in Linux Kernel, but if the driver will be removed, I > can send a patch for another driver. Is there any driver that I can > fix a style warning? Maybe, one checkstyle patch is enough, right? Which drivers can I truly contribute to? > Thanks > > > Em sex, 25 de jan de 2019 às 06:20, Alexandru Ardelean > escreveu: > > > > On Thu, Jan 24, 2019 at 9:35 PM Rodrigo Ribeiro > > wrote: > > > > > > Remove the checkpatch.pl check: > > > > > > CHECK: 'RESEVERD' may be misspelled - perhaps 'RESERVED'? > > > > Hey, > > > > A bit curios about this one. > > Are you using this chip/driver ? > > > > Thing is: the part is nearing EOL, and it could be an idea to be > > marked for removal (since it's still in staging). > > But if there are users for this driver, it could be left around for a while. > > > > Thanks > > Alex > > > > > > > > Signed-off-by: Rodrigo Ribeiro > > > Signed-off-by: Rafael Tsuha > > > --- > > > This macro is not used anywhere. Should we just correct the > > > spelling or remove the macro? > > > > > > drivers/staging/iio/cdc/ad7152.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/staging/iio/cdc/ad7152.c > > > b/drivers/staging/iio/cdc/ad7152.c > > > index 25f51db..c9da6d4 100644 > > > --- a/drivers/staging/iio/cdc/ad7152.c > > > +++ b/drivers/staging/iio/cdc/ad7152.c > > > @@ -35,7 +35,7 @@ > > > #define AD7152_REG_CH2_GAIN_HIGH 12 > > > #define AD7152_REG_CH2_SETUP 14 > > > #define AD7152_REG_CFG 15 > > > -#define AD7152_REG_RESEVERD16 > > > +#define AD7152_REG_RESERVED16 > > > #define AD7152_REG_CAPDAC_POS 17 > > > #define AD7152_REG_CAPDAC_NEG 18 > > > #define AD7152_REG_CFG226 > > > -- > > > 2.7.4 > > > ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 2/2] PCI: hv: Refactor hv_irq_unmask() to use cpumask_to_vpset()
On Thu, Jan 24, 2019 at 03:29:18PM +0300, Dan Carpenter wrote: > On Wed, Jan 23, 2019 at 01:02:12PM -0800, Maya Nakamura wrote: > > @@ -908,12 +906,12 @@ static void hv_irq_unmask(struct irq_data *data) > > struct retarget_msi_interrupt *params; > > struct hv_pcibus_device *hbus; > > struct cpumask *dest; > > + cpumask_var_t tmp; > > struct pci_bus *pbus; > > struct pci_dev *pdev; > > unsigned long flags; > > u32 var_size = 0; > > - int cpu_vmbus; > > - int cpu; > > + int cpu, nr_bank = 0; > ^ > No need to initialize this to a bogus value. It's misleading and it > turns off GCC's uninitialized variable warning so it can lead to bugs. > Thank you for pointing that out. I will remove its initialization in v2. > > @@ -953,29 +951,28 @@ static void hv_irq_unmask(struct irq_data *data) > > */ > > params->int_target.flags |= > > HV_DEVICE_INTERRUPT_TARGET_PROCESSOR_SET; > > - params->int_target.vp_set.valid_bank_mask = > > - (1ull << HV_VP_SET_BANK_COUNT_MAX) - 1; > > + > > + if (!alloc_cpumask_var(&tmp, GFP_KERNEL)) { > > + dev_err(&hbus->hdev->device, "out of memory"); > > > No need for this error message. alloc_cpumask_var() already has better > debug messages built in. > I will delete this dev_err() in v2. > > + return; > > We can't return directly. We need to unlock first. > I will unlock in v2. > > + if (!nr_bank) { > > + dev_err(&hbus->hdev->device, "too high CPU"); > > This error message is not useful. > I will delete this dev_err() in v2. Maya > > regards, > dan carpenter > ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/2] PCI: hv: Replace hv_vp_set with hv_vpset
On Thu, Jan 24, 2019 at 02:12:13PM +0100, Vitaly Kuznetsov wrote: > Maya Nakamura writes: > > > @@ -460,12 +454,16 @@ struct hv_pcibus_device { > > struct msi_controller msi_chip; > > struct irq_domain *irq_domain; > > > > - /* hypercall arg, must not cross page boundary */ > > - struct retarget_msi_interrupt retarget_msi_interrupt_params; > > - > > spinlock_t retarget_msi_interrupt_lock; > > > > struct workqueue_struct *wq; > > + > > + /* hypercall arg, must not cross page boundary */ > > + struct retarget_msi_interrupt retarget_msi_interrupt_params; > > + > > + /* > > +* Don't put anything here: retarget_msi_interrupt_params must be last > > +*/ > > This change seems to be unrelated and not anyhow described in the commit > message - or did I miss something? > Thank you for pointing that out. I will add why it was moved in v2. Maya > > -- > Vitaly ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v3 0/3] adt7316 regmap implementation
On Sun, Jan 20, 2019 at 09:06:30PM +0530, Shreeya Patel wrote: > This patchset consist of some initial patches for heading > towards the regmap implementation and also the final patch > which enables the driver to use regmap API thus removing > the redundant and common code. > > Changes in v3 > -Fetch the changes from remote and rebase to have it in > the current working directory. > > Changes in v2 > -Change the val_bits to 8 and add two more patches > having a different change before the final implemetation > of regmap. > > Shreeya Patel (3): > Staging: iio: adt7316: Remove irq from bus structure > Staging: iio: adt7316: Remove multi read and write functions > Staging: iio: adt7316: Add regmap support > > drivers/staging/iio/addac/adt7316-i2c.c | 97 ++-- > drivers/staging/iio/addac/adt7316-spi.c | 95 +++ > drivers/staging/iio/addac/adt7316.c | 147 > drivers/staging/iio/addac/adt7316.h | 15 +-- > 4 files changed, 103 insertions(+), 251 deletions(-) > > -- > 2.17.1 > The series doesn't apply to the current iio testing branch. If there's any value in a quick sanity testing, I can do that after a rebase. I wasn't planning to test everything the patch touches, but thought I could at least test a few register reads and writes to make sure we haven't missed anything obvious in the regmap implementation. Jeremy ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v2 1/2] staging: erofs: use xattr_prefix to wrap up
On 2019/1/26 0:10, Gao Xiang wrote: > Let's use xattr_prefix instead of open code. > No logic changes. > > Signed-off-by: Gao Xiang Reviewed-by: Chao Yu Thanks, ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v2 2/2] staging: erofs: complete POSIX ACL support
On 2019/1/26 0:10, Gao Xiang wrote: > Let's add .get_acl() to read the file's acl from its xattrs > to make POSIX ACL usable. > > Here is the on-disk detail, > fullname: system.posix_acl_access > struct erofs_xattr_entry: > .e_name_len = 0 > .e_name_index = EROFS_XATTR_INDEX_POSIX_ACL_ACCESS (2) > > fullname: system.posix_acl_default > struct erofs_xattr_entry: > .e_name_len = 0 > .e_name_index = EROFS_XATTR_INDEX_POSIX_ACL_DEFAULT (3) > > Signed-off-by: Gao Xiang > --- > change log v2: > - add the missing SB_POSIXACL flag; > - fix the on-disk detail, use .e_name_len == 0 and proper prefix value; > - tested ok with xattr enabled erofs_mkfs; > > .../erofs/Documentation/filesystems/erofs.txt | 2 ++ > drivers/staging/erofs/inode.c | 3 ++ > drivers/staging/erofs/namei.c | 1 + > drivers/staging/erofs/super.c | 8 + > drivers/staging/erofs/xattr.c | 37 > ++ > drivers/staging/erofs/xattr.h | 6 > 6 files changed, 57 insertions(+) > > diff --git a/drivers/staging/erofs/Documentation/filesystems/erofs.txt > b/drivers/staging/erofs/Documentation/filesystems/erofs.txt > index 803988d74c21..961ec4da7705 100644 > --- a/drivers/staging/erofs/Documentation/filesystems/erofs.txt > +++ b/drivers/staging/erofs/Documentation/filesystems/erofs.txt > @@ -36,6 +36,8 @@ Here is the main features of EROFS: > > - Support xattr inline and tail-end data inline for all files; > > + - Support POSIX.1e ACLs by using xattrs; > + > - Support transparent file compression as an option: > LZ4 algorithm with 4 KB fixed-output compression for high performance; > > diff --git a/drivers/staging/erofs/inode.c b/drivers/staging/erofs/inode.c > index 4f04f7c38cf2..924b8dfc7a8f 100644 > --- a/drivers/staging/erofs/inode.c > +++ b/drivers/staging/erofs/inode.c > @@ -287,6 +287,7 @@ const struct inode_operations erofs_generic_iops = { > #ifdef CONFIG_EROFS_FS_XATTR > .listxattr = erofs_listxattr, > #endif > + .get_acl = erofs_get_acl, > }; > > const struct inode_operations erofs_symlink_iops = { > @@ -294,6 +295,7 @@ const struct inode_operations erofs_symlink_iops = { > #ifdef CONFIG_EROFS_FS_XATTR > .listxattr = erofs_listxattr, > #endif > + .get_acl = erofs_get_acl, > }; > > const struct inode_operations erofs_fast_symlink_iops = { > @@ -301,5 +303,6 @@ const struct inode_operations erofs_fast_symlink_iops = { > #ifdef CONFIG_EROFS_FS_XATTR > .listxattr = erofs_listxattr, > #endif > + .get_acl = erofs_get_acl, > }; > > diff --git a/drivers/staging/erofs/namei.c b/drivers/staging/erofs/namei.c > index 7fed1f996ab0..b1752adc5934 100644 > --- a/drivers/staging/erofs/namei.c > +++ b/drivers/staging/erofs/namei.c > @@ -238,5 +238,6 @@ const struct inode_operations erofs_dir_iops = { > #ifdef CONFIG_EROFS_FS_XATTR > .listxattr = erofs_listxattr, > #endif > + .get_acl = erofs_get_acl, > }; > > diff --git a/drivers/staging/erofs/super.c b/drivers/staging/erofs/super.c > index 176fca2af379..54cd7dac0a1f 100644 > --- a/drivers/staging/erofs/super.c > +++ b/drivers/staging/erofs/super.c > @@ -398,6 +398,14 @@ static int erofs_read_super(struct super_block *sb, > if (!silent) > infoln("root inode @ nid %llu", ROOT_NID(sbi)); > > +#ifdef CONFIG_EROFS_FS_POSIX_ACL > + /* Update the POSIXACL Flag */ > + if (test_opt(sbi, POSIX_ACL)) > + sb->s_flags |= SB_POSIXACL; > + else > + sb->s_flags &= ~SB_POSIXACL; > +#endif > + > #ifdef CONFIG_EROFS_FS_ZIP > INIT_RADIX_TREE(&sbi->workstn_tree, GFP_ATOMIC); > #endif > diff --git a/drivers/staging/erofs/xattr.c b/drivers/staging/erofs/xattr.c > index 7de46690d972..6759485ae862 100644 > --- a/drivers/staging/erofs/xattr.c > +++ b/drivers/staging/erofs/xattr.c > @@ -643,3 +643,40 @@ ssize_t erofs_listxattr(struct dentry *dentry, > return shared_listxattr(&it); > } > > +#ifdef CONFIG_EROFS_FS_POSIX_ACL > +struct posix_acl *erofs_get_acl(struct inode *inode, int type) > +{ > + struct posix_acl *acl; > + int ea_prefix, rc; > + char *value = NULL; > + > + switch(type) { > + case ACL_TYPE_ACCESS: > + ea_prefix = EROFS_XATTR_INDEX_POSIX_ACL_ACCESS; > + break; > + case ACL_TYPE_DEFAULT: > + ea_prefix = EROFS_XATTR_INDEX_POSIX_ACL_DEFAULT; > + break; > + default: > + return ERR_PTR(-EINVAL); > + } > + > + rc = erofs_getxattr(inode, ea_prefix, "", NULL, 0); > + if (rc > 0) { > + value = kvmalloc(rc, GFP_KERNEL); erofs_kmalloc() is enough? Thanks, > + if (!value) > + return ERR_PTR(-ENOMEM); > + rc = erofs_getxattr(inode, ea_prefix, "", value, rc); > + } > + > + if (rc == -ENOATTR) > + acl = NULL; > + else if (rc < 0) > +
Re: [PATCH v2 2/2] staging: erofs: complete POSIX ACL support
Hi Chao, On 2019/1/26 10:48, Chao Yu wrote: > On 2019/1/26 0:10, Gao Xiang wrote: >> Let's add .get_acl() to read the file's acl from its xattrs >> to make POSIX ACL usable. >> >> Here is the on-disk detail, >> fullname: system.posix_acl_access >> struct erofs_xattr_entry: >> .e_name_len = 0 >> .e_name_index = EROFS_XATTR_INDEX_POSIX_ACL_ACCESS (2) >> >> fullname: system.posix_acl_default >> struct erofs_xattr_entry: >> .e_name_len = 0 >> .e_name_index = EROFS_XATTR_INDEX_POSIX_ACL_DEFAULT (3) >> >> Signed-off-by: Gao Xiang >> --- >> change log v2: >> - add the missing SB_POSIXACL flag; >> - fix the on-disk detail, use .e_name_len == 0 and proper prefix value; >> - tested ok with xattr enabled erofs_mkfs; >> >> .../erofs/Documentation/filesystems/erofs.txt | 2 ++ >> drivers/staging/erofs/inode.c | 3 ++ >> drivers/staging/erofs/namei.c | 1 + >> drivers/staging/erofs/super.c | 8 + >> drivers/staging/erofs/xattr.c | 37 >> ++ >> drivers/staging/erofs/xattr.h | 6 >> 6 files changed, 57 insertions(+) >> >> diff --git a/drivers/staging/erofs/Documentation/filesystems/erofs.txt >> b/drivers/staging/erofs/Documentation/filesystems/erofs.txt >> index 803988d74c21..961ec4da7705 100644 >> --- a/drivers/staging/erofs/Documentation/filesystems/erofs.txt >> +++ b/drivers/staging/erofs/Documentation/filesystems/erofs.txt >> @@ -36,6 +36,8 @@ Here is the main features of EROFS: >> >> - Support xattr inline and tail-end data inline for all files; >> >> + - Support POSIX.1e ACLs by using xattrs; >> + >> - Support transparent file compression as an option: >> LZ4 algorithm with 4 KB fixed-output compression for high performance; >> >> diff --git a/drivers/staging/erofs/inode.c b/drivers/staging/erofs/inode.c >> index 4f04f7c38cf2..924b8dfc7a8f 100644 >> --- a/drivers/staging/erofs/inode.c >> +++ b/drivers/staging/erofs/inode.c >> @@ -287,6 +287,7 @@ const struct inode_operations erofs_generic_iops = { >> #ifdef CONFIG_EROFS_FS_XATTR >> .listxattr = erofs_listxattr, >> #endif >> +.get_acl = erofs_get_acl, >> }; >> >> const struct inode_operations erofs_symlink_iops = { >> @@ -294,6 +295,7 @@ const struct inode_operations erofs_symlink_iops = { >> #ifdef CONFIG_EROFS_FS_XATTR >> .listxattr = erofs_listxattr, >> #endif >> +.get_acl = erofs_get_acl, >> }; >> >> const struct inode_operations erofs_fast_symlink_iops = { >> @@ -301,5 +303,6 @@ const struct inode_operations erofs_fast_symlink_iops = { >> #ifdef CONFIG_EROFS_FS_XATTR >> .listxattr = erofs_listxattr, >> #endif >> +.get_acl = erofs_get_acl, >> }; >> >> diff --git a/drivers/staging/erofs/namei.c b/drivers/staging/erofs/namei.c >> index 7fed1f996ab0..b1752adc5934 100644 >> --- a/drivers/staging/erofs/namei.c >> +++ b/drivers/staging/erofs/namei.c >> @@ -238,5 +238,6 @@ const struct inode_operations erofs_dir_iops = { >> #ifdef CONFIG_EROFS_FS_XATTR >> .listxattr = erofs_listxattr, >> #endif >> +.get_acl = erofs_get_acl, >> }; >> >> diff --git a/drivers/staging/erofs/super.c b/drivers/staging/erofs/super.c >> index 176fca2af379..54cd7dac0a1f 100644 >> --- a/drivers/staging/erofs/super.c >> +++ b/drivers/staging/erofs/super.c >> @@ -398,6 +398,14 @@ static int erofs_read_super(struct super_block *sb, >> if (!silent) >> infoln("root inode @ nid %llu", ROOT_NID(sbi)); >> >> +#ifdef CONFIG_EROFS_FS_POSIX_ACL >> +/* Update the POSIXACL Flag */ >> +if (test_opt(sbi, POSIX_ACL)) >> +sb->s_flags |= SB_POSIXACL; >> +else >> +sb->s_flags &= ~SB_POSIXACL; >> +#endif >> + >> #ifdef CONFIG_EROFS_FS_ZIP >> INIT_RADIX_TREE(&sbi->workstn_tree, GFP_ATOMIC); >> #endif >> diff --git a/drivers/staging/erofs/xattr.c b/drivers/staging/erofs/xattr.c >> index 7de46690d972..6759485ae862 100644 >> --- a/drivers/staging/erofs/xattr.c >> +++ b/drivers/staging/erofs/xattr.c >> @@ -643,3 +643,40 @@ ssize_t erofs_listxattr(struct dentry *dentry, >> return shared_listxattr(&it); >> } >> >> +#ifdef CONFIG_EROFS_FS_POSIX_ACL >> +struct posix_acl *erofs_get_acl(struct inode *inode, int type) >> +{ >> +struct posix_acl *acl; >> +int ea_prefix, rc; >> +char *value = NULL; >> + >> +switch(type) { >> +case ACL_TYPE_ACCESS: >> +ea_prefix = EROFS_XATTR_INDEX_POSIX_ACL_ACCESS; >> +break; >> +case ACL_TYPE_DEFAULT: >> +ea_prefix = EROFS_XATTR_INDEX_POSIX_ACL_DEFAULT; >> +break; >> +default: >> +return ERR_PTR(-EINVAL); >> +} >> + >> +rc = erofs_getxattr(inode, ea_prefix, "", NULL, 0); >> +if (rc > 0) { >> +value = kvmalloc(rc, GFP_KERNEL); > > erofs_kmalloc() is enough? I think kmalloc is enough for this case, but I think kvmalloc is not bad as well. Actually I want to introduce er
[PATCH v3 1/2] staging: erofs: use xattr_prefix to wrap up
From: Gao Xiang Let's use xattr_prefix instead of open code. No logic changes. Reviewed-by: Chao Yu Signed-off-by: Gao Xiang --- drivers/staging/erofs/xattr.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/staging/erofs/xattr.c b/drivers/staging/erofs/xattr.c index 1c9498e38f0e..7de46690d972 100644 --- a/drivers/staging/erofs/xattr.c +++ b/drivers/staging/erofs/xattr.c @@ -520,8 +520,7 @@ static int xattr_entrylist(struct xattr_iter *_it, if (h == NULL || (h->list != NULL && !h->list(it->dentry))) return 1; - /* Note that at least one of 'prefix' and 'name' should be non-NULL */ - prefix = h->prefix != NULL ? h->prefix : h->name; + prefix = xattr_prefix(h); prefix_len = strlen(prefix); if (it->buffer == NULL) { -- 2.11.0 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v3 2/2] staging: erofs: complete POSIX ACL support
From: Gao Xiang Let's add .get_acl() to read the file's acl from its xattrs to make POSIX ACL usable. Here is the on-disk detail, fullname: system.posix_acl_access struct erofs_xattr_entry: .e_name_len = 0 .e_name_index = EROFS_XATTR_INDEX_POSIX_ACL_ACCESS (2) fullname: system.posix_acl_default struct erofs_xattr_entry: .e_name_len = 0 .e_name_index = EROFS_XATTR_INDEX_POSIX_ACL_DEFAULT (3) Signed-off-by: Gao Xiang --- change log v3: - kvmalloc -> erofs_kmalloc suggested by Chao; - update SB_POSIXACL for the remount case as well; .../erofs/Documentation/filesystems/erofs.txt | 2 ++ drivers/staging/erofs/inode.c | 3 ++ drivers/staging/erofs/namei.c | 1 + drivers/staging/erofs/super.c | 10 ++ drivers/staging/erofs/xattr.c | 37 ++ drivers/staging/erofs/xattr.h | 6 6 files changed, 59 insertions(+) diff --git a/drivers/staging/erofs/Documentation/filesystems/erofs.txt b/drivers/staging/erofs/Documentation/filesystems/erofs.txt index 803988d74c21..961ec4da7705 100644 --- a/drivers/staging/erofs/Documentation/filesystems/erofs.txt +++ b/drivers/staging/erofs/Documentation/filesystems/erofs.txt @@ -36,6 +36,8 @@ Here is the main features of EROFS: - Support xattr inline and tail-end data inline for all files; + - Support POSIX.1e ACLs by using xattrs; + - Support transparent file compression as an option: LZ4 algorithm with 4 KB fixed-output compression for high performance; diff --git a/drivers/staging/erofs/inode.c b/drivers/staging/erofs/inode.c index 4f04f7c38cf2..924b8dfc7a8f 100644 --- a/drivers/staging/erofs/inode.c +++ b/drivers/staging/erofs/inode.c @@ -287,6 +287,7 @@ const struct inode_operations erofs_generic_iops = { #ifdef CONFIG_EROFS_FS_XATTR .listxattr = erofs_listxattr, #endif + .get_acl = erofs_get_acl, }; const struct inode_operations erofs_symlink_iops = { @@ -294,6 +295,7 @@ const struct inode_operations erofs_symlink_iops = { #ifdef CONFIG_EROFS_FS_XATTR .listxattr = erofs_listxattr, #endif + .get_acl = erofs_get_acl, }; const struct inode_operations erofs_fast_symlink_iops = { @@ -301,5 +303,6 @@ const struct inode_operations erofs_fast_symlink_iops = { #ifdef CONFIG_EROFS_FS_XATTR .listxattr = erofs_listxattr, #endif + .get_acl = erofs_get_acl, }; diff --git a/drivers/staging/erofs/namei.c b/drivers/staging/erofs/namei.c index 7fed1f996ab0..b1752adc5934 100644 --- a/drivers/staging/erofs/namei.c +++ b/drivers/staging/erofs/namei.c @@ -238,5 +238,6 @@ const struct inode_operations erofs_dir_iops = { #ifdef CONFIG_EROFS_FS_XATTR .listxattr = erofs_listxattr, #endif + .get_acl = erofs_get_acl, }; diff --git a/drivers/staging/erofs/super.c b/drivers/staging/erofs/super.c index 176fca2af379..15c784fba879 100644 --- a/drivers/staging/erofs/super.c +++ b/drivers/staging/erofs/super.c @@ -398,6 +398,11 @@ static int erofs_read_super(struct super_block *sb, if (!silent) infoln("root inode @ nid %llu", ROOT_NID(sbi)); + if (test_opt(sbi, POSIX_ACL)) + sb->s_flags |= SB_POSIXACL; + else + sb->s_flags &= ~SB_POSIXACL; + #ifdef CONFIG_EROFS_FS_ZIP INIT_RADIX_TREE(&sbi->workstn_tree, GFP_ATOMIC); #endif @@ -646,6 +651,11 @@ static int erofs_remount(struct super_block *sb, int *flags, char *data) if (err) goto out; + if (test_opt(sbi, POSIX_ACL)) + sb->s_flags |= SB_POSIXACL; + else + sb->s_flags &= ~SB_POSIXACL; + *flags |= SB_RDONLY; return 0; out: diff --git a/drivers/staging/erofs/xattr.c b/drivers/staging/erofs/xattr.c index 7de46690d972..d2241f73a7b9 100644 --- a/drivers/staging/erofs/xattr.c +++ b/drivers/staging/erofs/xattr.c @@ -643,3 +643,40 @@ ssize_t erofs_listxattr(struct dentry *dentry, return shared_listxattr(&it); } +#ifdef CONFIG_EROFS_FS_POSIX_ACL +struct posix_acl *erofs_get_acl(struct inode *inode, int type) +{ + struct posix_acl *acl; + int prefix, rc; + char *value = NULL; + + switch (type) { + case ACL_TYPE_ACCESS: + prefix = EROFS_XATTR_INDEX_POSIX_ACL_ACCESS; + break; + case ACL_TYPE_DEFAULT: + prefix = EROFS_XATTR_INDEX_POSIX_ACL_DEFAULT; + break; + default: + return ERR_PTR(-EINVAL); + } + + rc = erofs_getxattr(inode, prefix, "", NULL, 0); + if (rc > 0) { + value = erofs_kmalloc(EROFS_I_SB(inode), rc, GFP_KERNEL); + if (!value) + return ERR_PTR(-ENOMEM); + rc = erofs_getxattr(inode, prefix, "", value, rc); + } + + if (rc == -ENOATTR) + acl = NULL; + else if (rc < 0) + acl = ERR_PTR(rc); +
Re: [PATCH] tty: Fix WARNING in tty_set_termios
On Fri, Jan 25, 2019 at 04:29:05PM -0700, Shuah Khan wrote: > tty_set_termios() has the following WARMN_ON which can be triggered with a > syscall to invoke TIOCGETD __NR_ioctl. > > WARN_ON(tty->driver->type == TTY_DRIVER_TYPE_PTY && > tty->driver->subtype == PTY_TYPE_MASTER); > Reference: > https://syzkaller.appspot.com/bug?id=2410d22f1d8e5984217329dd0884b01d99e3e48d > > A simple change would have been to print error message instead of WARN_ON. > However, the callers assume that tty_set_termios() always returns 0 and > don't check return value. The complete solution is fixing all the callers > to check error and bail out to fix the WARN_ON. > > This fix changes tty_set_termios() to return error and all the callers > to check error and bail out. The reproducer is used to reproduce the > problem and verify the fix. > --- a/drivers/bluetooth/hci_ldisc.c > +++ b/drivers/bluetooth/hci_ldisc.c > @@ -321,6 +321,8 @@ void hci_uart_set_flow_control(struct hci_uart *hu, bool > enable) > status = tty_set_termios(tty, &ktermios); > BT_DBG("Disabling hardware flow control: %s", > status ? "failed" : "success"); > + if (status) > + return; Can that ldisc end up set on pty master? And does it make any sense there? > diff --git a/drivers/tty/serdev/serdev-ttyport.c > b/drivers/tty/serdev/serdev-ttyport.c > index fa1672993b4c..29b51370deac 100644 > --- a/drivers/tty/serdev/serdev-ttyport.c > +++ b/drivers/tty/serdev/serdev-ttyport.c > @@ -136,7 +136,9 @@ static int ttyport_open(struct serdev_controller *ctrl) > ktermios.c_cflag |= CRTSCTS; > /* Hangups are not supported so make sure to ignore carrier detect. */ > ktermios.c_cflag |= CLOCAL; > - tty_set_termios(tty, &ktermios); > + ret = tty_set_termios(tty, &ktermios); How can _that_ happen to pty master? > diff --git a/net/nfc/nci/uart.c b/net/nfc/nci/uart.c > index 78fe622eba65..9978c21ce34d 100644 > --- a/net/nfc/nci/uart.c > +++ b/net/nfc/nci/uart.c > @@ -447,6 +447,7 @@ void nci_uart_set_config(struct nci_uart *nu, int > baudrate, int flow_ctrl) > else > new_termios.c_cflag &= ~CRTSCTS; > > + /* FIXME tty_set_termios() could return error */ Ditto for this one. IOW, I don't believe that this patch makes any sense. If anything, we need to prevent unconditional tty_set_termios() on the path that *does* lead to calling it for pty. ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v3 0/3] adt7316 regmap implementation
On Fri, 2019-01-25 at 18:22 -0700, Jeremy Fertic wrote: > On Sun, Jan 20, 2019 at 09:06:30PM +0530, Shreeya Patel wrote: > > This patchset consist of some initial patches for heading > > towards the regmap implementation and also the final patch > > which enables the driver to use regmap API thus removing > > the redundant and common code. > > > > Changes in v3 > > -Fetch the changes from remote and rebase to have it in > > the current working directory. > > > > Changes in v2 > > -Change the val_bits to 8 and add two more patches > > having a different change before the final implemetation > > of regmap. > > > > Shreeya Patel (3): > > Staging: iio: adt7316: Remove irq from bus structure > > Staging: iio: adt7316: Remove multi read and write functions > > Staging: iio: adt7316: Add regmap support > > > > drivers/staging/iio/addac/adt7316-i2c.c | 97 ++-- > > drivers/staging/iio/addac/adt7316-spi.c | 95 +++ > > drivers/staging/iio/addac/adt7316.c | 147 -- > > -- > > drivers/staging/iio/addac/adt7316.h | 15 +-- > > 4 files changed, 103 insertions(+), 251 deletions(-) > > > > -- > > 2.17.1 > > > > The series doesn't apply to the current iio testing branch. If > there's any > value in a quick sanity testing, I can do that after a rebase. I > wasn't > planning to test everything the patch touches, but thought I could at > least test a few register reads and writes to make sure we haven't > missed > anything obvious in the regmap implementation. Hi Jeremy, Is it still not applying? Jonathan told me that v2 of this series wasn't applying so I rebased for this series. I hope I didn't mess things up while rebasing :( Thanks > > Jeremy > ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v3 0/3] adt7316 regmap implementation
On Sat, 2019-01-26 at 10:42 +0530, Shreeya Patel wrote: > On Fri, 2019-01-25 at 18:22 -0700, Jeremy Fertic wrote: > > On Sun, Jan 20, 2019 at 09:06:30PM +0530, Shreeya Patel wrote: > > > This patchset consist of some initial patches for heading > > > towards the regmap implementation and also the final patch > > > which enables the driver to use regmap API thus removing > > > the redundant and common code. > > > > > > Changes in v3 > > > -Fetch the changes from remote and rebase to have it in > > > the current working directory. > > > > > > Changes in v2 > > > -Change the val_bits to 8 and add two more patches > > > having a different change before the final implemetation > > > of regmap. > > > > > > Shreeya Patel (3): > > > Staging: iio: adt7316: Remove irq from bus structure > > > Staging: iio: adt7316: Remove multi read and write functions > > > Staging: iio: adt7316: Add regmap support > > > > > > drivers/staging/iio/addac/adt7316-i2c.c | 97 ++-- > > > drivers/staging/iio/addac/adt7316-spi.c | 95 +++ > > > drivers/staging/iio/addac/adt7316.c | 147 -- > > > -- > > > drivers/staging/iio/addac/adt7316.h | 15 +-- > > > 4 files changed, 103 insertions(+), 251 deletions(-) > > > > > > -- > > > 2.17.1 > > > > > > > The series doesn't apply to the current iio testing branch. If > > there's any > > value in a quick sanity testing, I can do that after a rebase. I > > wasn't > > planning to test everything the patch touches, but thought I could > > at > > least test a few register reads and writes to make sure we haven't > > missed > > anything obvious in the regmap implementation. > > Hi Jeremy, > > Is it still not applying? Jonathan told me that v2 of this series > wasn't applying so I rebased for this series. > > I hope I didn't mess things up while rebasing :( > > Thanks Yes it is my mistake. I've rebased against greg's staging tree. I will soon send a v4 for the series. Thanks > > > > > Jeremy > > > > ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v3 2/2] staging: erofs: complete POSIX ACL support
On 2019/1/26 11:48, Gao Xiang wrote: > From: Gao Xiang > > Let's add .get_acl() to read the file's acl from its xattrs > to make POSIX ACL usable. > > Here is the on-disk detail, > fullname: system.posix_acl_access > struct erofs_xattr_entry: > .e_name_len = 0 > .e_name_index = EROFS_XATTR_INDEX_POSIX_ACL_ACCESS (2) > > fullname: system.posix_acl_default > struct erofs_xattr_entry: > .e_name_len = 0 > .e_name_index = EROFS_XATTR_INDEX_POSIX_ACL_DEFAULT (3) > > Signed-off-by: Gao Xiang > --- > change log v3: > - kvmalloc -> erofs_kmalloc suggested by Chao; > - update SB_POSIXACL for the remount case as well; Oh, correct, remount case, I missed that one. It looks good to me now. :) Reviewed-by: Chao Yu Thanks, ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel