Re: [PATCH 1/9] staging: greybus: fix up SPDX comment in .h files
On Mon, Aug 26, 2019 at 11:21:19AM +0530, Viresh Kumar wrote: > On 25-08-19, 07:54, Greg Kroah-Hartman wrote: > > When these files originally got an SPDX tag, I used // instead of /* */ > > for the .h files. Fix this up to use // properly. > > > > Cc: Viresh Kumar > > Cc: Johan Hovold > > Cc: Alex Elder > > Cc: greybus-...@lists.linaro.org > > Cc: de...@driverdev.osuosl.org > > Signed-off-by: Greg Kroah-Hartman > > --- > > drivers/staging/greybus/firmware.h | 2 +- > > drivers/staging/greybus/gb-camera.h | 2 +- > > drivers/staging/greybus/gbphy.h | 2 +- > > drivers/staging/greybus/greybus.h| 2 +- > > drivers/staging/greybus/greybus_authentication.h | 2 +- > > drivers/staging/greybus/greybus_firmware.h | 2 +- > > drivers/staging/greybus/greybus_manifest.h | 2 +- > > drivers/staging/greybus/greybus_protocols.h | 2 +- > > drivers/staging/greybus/greybus_trace.h | 2 +- > > drivers/staging/greybus/hd.h | 2 +- > > drivers/staging/greybus/interface.h | 2 +- > > drivers/staging/greybus/manifest.h | 2 +- > > drivers/staging/greybus/module.h | 2 +- > > drivers/staging/greybus/operation.h | 2 +- > > drivers/staging/greybus/spilib.h | 2 +- > > drivers/staging/greybus/svc.h| 2 +- > > 16 files changed, 16 insertions(+), 16 deletions(-) > > Acked-by: Viresh Kumar Thanks for all of the acks! greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: most-core: Fix checkpatch warnings
On Mon, Aug 26, 2019 at 01:58:49AM +0800, Peikan Tsai wrote: > Hi, > > This patch solves the following checkpatch.pl's messages in > drivers/staging/most/core.c. > > WARNING: line over 80 characters > + return snprintf(buf, PAGE_SIZE, "%s", > ch_data_type[i].name); > > CHECK: Please use a blank line after function/struct/union/enum declarations > +} > +/** > > Signed-off-by: Peikan Tsai > --- > drivers/staging/most/core.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) Normally we want only one "type" of cleanup per patch, but this is so tiny I'll just take it as-is. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v2 1/2] staging: rtl8192u: Add or remove spaces to fix style issues
On Mon, Aug 26, 2019 at 11:39:09PM +0530, Sumera Priyadarsini wrote: > This patch fixes the file r8190_rtl8256.c to avoid the following > checkpatch.pl warnings: > CHECK: spaces preferred around that '<<' (ctx:VxV) > CHECK: spaces preferred around that '-' (ctx:VxV) > CHECK: No space is necessary after a cast > > Signed-off-by: Sumera Priyadarsini > --- > Changes since v1: > - Split the commit into two patches > --- > drivers/staging/rtl8192u/r8190_rtl8256.c | 30 > 1 file changed, 15 insertions(+), 15 deletions(-) > > diff --git a/drivers/staging/rtl8192u/r8190_rtl8256.c > b/drivers/staging/rtl8192u/r8190_rtl8256.c > index 0bedf88525cd..7c7f8247b27a 100644 > --- a/drivers/staging/rtl8192u/r8190_rtl8256.c > +++ b/drivers/staging/rtl8192u/r8190_rtl8256.c > @@ -42,9 +42,9 @@ void phy_set_rf8256_bandwidth(struct net_device *dev, enum > ht_channel_width Band > > switch (Bandwidth) { > case HT_CHANNEL_WIDTH_20: > - if (priv->card_8192_version == VERSION_819XU_A > - || priv->card_8192_version > - == VERSION_819XU_B) { /* 8256 D-cut, > E-cut, xiong: consider it later! */ > + if (priv->card_8192_version == VERSION_819XU_A > || > + priv->card_8192_version == > + VERSION_819XU_B) { /* 8256 D-cut, > E-cut, xiong: consider it later! */ These lines are indented too far and the == should go on the first line like the || does. if (priv->card_8192_version == VERSION_819XU_A || priv->card_8192_version == VERSION_819XU_B) { /* 8256 D-cut, E-cut, xiong: consider it later! */ Probably do this in a separate patch. It's sort of not really related to the other changes. regards, dan carpenter ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/9] staging: greybus: fix up SPDX comment in .h files
Hi Greg, On Tue, Aug 27, 2019 at 09:58:02AM +0200, Greg Kroah-Hartman wrote: > On Mon, Aug 26, 2019 at 11:21:19AM +0530, Viresh Kumar wrote: > > On 25-08-19, 07:54, Greg Kroah-Hartman wrote: > > > When these files originally got an SPDX tag, I used // instead of /* */ > > > for the .h files. Fix this up to use // properly. > > > > > > Cc: Viresh Kumar > > > Cc: Johan Hovold > > > Cc: Alex Elder > > > Cc: greybus-...@lists.linaro.org > > > Cc: de...@driverdev.osuosl.org > > > Signed-off-by: Greg Kroah-Hartman > > > --- > > > drivers/staging/greybus/firmware.h | 2 +- > > > drivers/staging/greybus/gb-camera.h | 2 +- > > > drivers/staging/greybus/gbphy.h | 2 +- > > > drivers/staging/greybus/greybus.h| 2 +- > > > drivers/staging/greybus/greybus_authentication.h | 2 +- > > > drivers/staging/greybus/greybus_firmware.h | 2 +- > > > drivers/staging/greybus/greybus_manifest.h | 2 +- > > > drivers/staging/greybus/greybus_protocols.h | 2 +- > > > drivers/staging/greybus/greybus_trace.h | 2 +- > > > drivers/staging/greybus/hd.h | 2 +- > > > drivers/staging/greybus/interface.h | 2 +- > > > drivers/staging/greybus/manifest.h | 2 +- > > > drivers/staging/greybus/module.h | 2 +- > > > drivers/staging/greybus/operation.h | 2 +- > > > drivers/staging/greybus/spilib.h | 2 +- > > > drivers/staging/greybus/svc.h| 2 +- > > > 16 files changed, 16 insertions(+), 16 deletions(-) > > > > Acked-by: Viresh Kumar > > Thanks for all of the acks! > > greg k-h I found similar issues of graybus when I tested the latest staging-testing In file included from :0:0: ./include/linux/greybus/greybus_protocols.h:45:2: error: unknown type name ‘__le16’ __le16 size; /* Size in bytes of header + payload */ ^~ ./include/linux/greybus/greybus_protocols.h:46:2: error: unknown type name ‘__le16’ __le16 operation_id; /* Operation unique id */ ^~ ./include/linux/greybus/greybus_protocols.h:47:2: error: unknown type name ‘__u8’ __u8 type; /* E.g GB_I2C_TYPE_* or GB_GPIO_TYPE_* */ ^~~~ ./include/linux/greybus/greybus_protocols.h:48:2: error: unknown type name ‘__u8’ __u8 result; /* Result of request (in responses only) */ ^~~~ ./include/linux/greybus/greybus_protocols.h:49:2: error: unknown type name ‘__u8’ __u8 pad[2]; /* must be zero (ignore when read) */ ^~~~ ./include/linux/greybus/greybus_protocols.h:58:2: error: unknown type name ‘__u8’ __u8 phase; ^~~~ ./include/linux/greybus/greybus_protocols.h:88:2: error: unknown type name ‘__u8’ __u8 major; ^~~~ ./include/linux/greybus/greybus_protocols.h:89:2: error: unknown type name ‘__u8’ __u8 minor; ^~~~ ./include/linux/greybus/greybus_protocols.h:93:2: error: unknown type name ‘__u8’ __u8 major; ^~~~ ./include/linux/greybus/greybus_protocols.h:94:2: error: unknown type name ‘__u8’ __u8 minor; ^~~~ ./include/linux/greybus/greybus_protocols.h:98:2: error: unknown type name ‘__u8’ __u8 bundle_id; ^~~~ ./include/linux/greybus/greybus_protocols.h:102:2: error: unknown type name ‘__u8’ __u8 major; ^~~~ ./include/linux/greybus/greybus_protocols.h:103:2: error: unknown type name ‘__u8’ __u8 minor; ^~~~ ./include/linux/greybus/greybus_protocols.h:108:2: error: unknown type name ‘__le16’ __le16 size; ^~ ./include/linux/greybus/greybus_protocols.h:113:2: error: unknown type name ‘__u8’ __u8 data[0]; ^~~~ ./include/linux/greybus/greybus_protocols.h:118:2: error: unknown type name ‘__le16’ __le16 cport_id; ^~ ./include/linux/greybus/greybus_protocols.h:122:2: error: unknown type name ‘__le16’ __le16 cport_id; .. and other files... Not very sure... but it seems it can be observed with allmodconfig or CONFIG_KERNEL_HEADER_TEST=y and fail my compilation... Hope that of some help (kind reminder...) Thanks, Gao Xiang > ___ > devel mailing list > de...@linuxdriverproject.org > http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] r8188eu: use skb_put_data instead of skb_put/memcpy pair
On Sun, Aug 25, 2019 at 11:48:58PM +0300, Ivan Safonov wrote: > skb_put_data is shorter and clear. > Please don't start the commit message in the middle of a sentence. It often gets split from the start of the sentence. See how it looks here. https://marc.info/?l=linux-driver-devel&m=156676594611401&w=2 > Signed-off-by: Ivan Safonov > --- > drivers/staging/rtl8188eu/core/rtw_recv.c| 6 +- > drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c | 3 +-- > 2 files changed, 2 insertions(+), 7 deletions(-) > > diff --git a/drivers/staging/rtl8188eu/core/rtw_recv.c > b/drivers/staging/rtl8188eu/core/rtw_recv.c > index 620da6c003d8..d4278361e002 100644 > --- a/drivers/staging/rtl8188eu/core/rtw_recv.c > +++ b/drivers/staging/rtl8188eu/core/rtw_recv.c > @@ -1373,11 +1373,7 @@ static struct recv_frame *recvframe_defrag(struct > adapter *adapter, > /* append to first fragment frame's tail (if privacy frame, > pull the ICV) */ > skb_trim(prframe->pkt, prframe->pkt->len - > prframe->attrib.icv_len); Your email client corrupted the patch so it can't be applied. regards, dan carpenter ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [greybus-dev] [PATCH 0/9] staging: move greybus core out of staging
On 8/25/19 12:54 AM, Greg Kroah-Hartman wrote: > The Greybus code has long been "stable" but was living in the > drivers/staging/ directory to see if there really was going to be > devices using this protocol over the long-term. With the success of > millions of phones with this hardware and code in it, and the recent > Google Summer of Code project, and a number of of new devices in the > works from various companies, it is time to finally move this code out > of staging into the "real" portion of the kernel so that people know > they can rely on it. > > This series first does a little bit of checkpatch cleanups for some > basic remaining issues in the greybus files, and then moves the include > directory, the greybus core code, and the es2 greybus host controller > driver into drivers/greybus. > > To come after this is the movement of the Documentation entries and a > number of the module drivers that are stable. They all look good to me. (I don't always agree with checkpatch, but standardization is good.) Thanks Greg. Acked-by: Alex Elder > Greg Kroah-Hartman (9): > staging: greybus: fix up SPDX comment in .h files > staging: greybus: remove license "boilerplate" > staging: greybus: hd: Fix up some alignment checkpatch issues > staging: greybus: manifest: Fix up some alignment checkpatch issues > staging: greybus: log: Fix up some alignment checkpatch issues > staging: greybus: loopback: Fix up some alignment checkpatch issues > staging: greybus: move core include files to include/linux/greybus/ > staging: greybus: move the greybus core to drivers/greybus > staging: greybus: move es2 to drivers/greybus/ > > MAINTAINERS | 3 + > drivers/Kconfig | 2 + > drivers/Makefile | 1 + > drivers/greybus/Kconfig | 32 + > drivers/greybus/Makefile | 26 + > drivers/greybus/arpc.h| 63 ++ > drivers/{staging => }/greybus/bundle.c| 2 +- > drivers/{staging => }/greybus/connection.c| 2 +- > drivers/{staging => }/greybus/control.c | 2 +- > drivers/{staging => }/greybus/core.c | 2 +- > drivers/{staging => }/greybus/debugfs.c | 3 +- > drivers/{staging => }/greybus/es2.c | 3 +- > drivers/{staging => }/greybus/greybus_trace.h | 2 +- > drivers/{staging => }/greybus/hd.c| 12 +- > drivers/{staging => }/greybus/interface.c | 2 +- > drivers/{staging => }/greybus/manifest.c | 41 --- > drivers/{staging => }/greybus/module.c| 2 +- > drivers/{staging => }/greybus/operation.c | 2 +- > drivers/{staging => }/greybus/svc.c | 3 +- > drivers/{staging => }/greybus/svc_watchdog.c | 2 +- > .../Documentation/firmware/authenticate.c | 46 > .../greybus/Documentation/firmware/firmware.c | 46 > drivers/staging/greybus/Kconfig | 27 - > drivers/staging/greybus/Makefile | 22 > drivers/staging/greybus/arche-platform.c | 2 +- > drivers/staging/greybus/arpc.h| 109 -- > drivers/staging/greybus/audio_apbridgea.c | 3 +- > drivers/staging/greybus/audio_apbridgea.h | 26 + > drivers/staging/greybus/audio_codec.h | 4 +- > drivers/staging/greybus/audio_gb.c| 4 +- > drivers/staging/greybus/authentication.c | 3 +- > drivers/staging/greybus/bootrom.c | 2 +- > drivers/staging/greybus/camera.c | 2 +- > drivers/staging/greybus/firmware.h| 4 +- > drivers/staging/greybus/fw-core.c | 2 +- > drivers/staging/greybus/fw-download.c | 2 +- > drivers/staging/greybus/fw-management.c | 2 +- > drivers/staging/greybus/gb-camera.h | 2 +- > drivers/staging/greybus/gbphy.c | 2 +- > drivers/staging/greybus/gbphy.h | 2 +- > drivers/staging/greybus/gpio.c| 2 +- > .../staging/greybus/greybus_authentication.h | 48 +--- > drivers/staging/greybus/greybus_firmware.h| 48 +--- > drivers/staging/greybus/hid.c | 3 +- > drivers/staging/greybus/i2c.c | 2 +- > drivers/staging/greybus/light.c | 4 +- > drivers/staging/greybus/log.c | 9 +- > drivers/staging/greybus/loopback.c| 9 +- > drivers/staging/greybus/power_supply.c| 3 +- > drivers/staging/greybus/pwm.c | 2 +- > drivers/staging/greybus/raw.c | 3 +- > drivers/staging/greybus/sdio.c| 2 +- > drivers/staging/greybus/spi.c | 2 +- > drivers/staging/greybus/spilib.c | 2 +- > drivers/staging/greybus/spilib.h | 2 +- > drivers/staging/greybus/tools/loopback_test.c | 2 - > drivers/staging/greyb
[PATCH] staging: most: sound: Fix error path of audio_init
If most_register_configfs_subsys() fails, we should call most_deregister_component() do cleanup. Reported-by: Hulk Robot Fixes: 919c03ae11b9 ("staging: most: enable configfs support") Signed-off-by: YueHaibing --- drivers/staging/most/sound/sound.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/staging/most/sound/sound.c b/drivers/staging/most/sound/sound.c index 342f390..7981706 100644 --- a/drivers/staging/most/sound/sound.c +++ b/drivers/staging/most/sound/sound.c @@ -802,8 +802,11 @@ static int __init audio_init(void) if (ret) pr_err("Failed to register %s\n", comp.name); ret = most_register_configfs_subsys(&comp); - if (ret) + if (ret) { pr_err("Failed to register %s configfs subsys\n", comp.name); + most_deregister_component(&comp); + } + return ret; } -- 2.7.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Staging: speakup: spk_types: fixed an unnamed parameter style issue
Hi Matthew, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [cannot apply to v5.3-rc6 next-20190827] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Matthew-Hanzelik/Staging-speakup-spk_types-fixed-an-unnamed-parameter-style-issue/20190817-235230 config: c6x-allyesconfig (attached as .config) compiler: c6x-elf-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=c6x If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): >> drivers/staging/speakup/speakup_dectlk.c:132:19: error: initialization from >> incompatible pointer type [-Werror=incompatible-pointer-types] .read_buff_add = read_buff_add, ^ drivers/staging/speakup/speakup_dectlk.c:132:19: note: (near initialization for 'synth_dectlk.read_buff_add') cc1: some warnings being treated as errors -- >> drivers/staging/speakup/speakup_decext.c:126:19: error: initialization from >> incompatible pointer type [-Werror=incompatible-pointer-types] .read_buff_add = read_buff_add, ^ drivers/staging/speakup/speakup_decext.c:126:19: note: (near initialization for 'synth_decext.read_buff_add') cc1: some warnings being treated as errors vim +132 drivers/staging/speakup/speakup_dectlk.c c6e3fd22cd5383 William Hubbs 2010-10-07 106 c6e3fd22cd5383 William Hubbs 2010-10-07 107 static struct spk_synth synth_dectlk = { c6e3fd22cd5383 William Hubbs 2010-10-07 108.name = "dectlk", c6e3fd22cd5383 William Hubbs 2010-10-07 109.version = DRV_VERSION, c6e3fd22cd5383 William Hubbs 2010-10-07 110.long_name = "Dectalk Express", c6e3fd22cd5383 William Hubbs 2010-10-07 111.init = "[:error sp :name paul :rate 180 :tsr off] ", c6e3fd22cd5383 William Hubbs 2010-10-07 112.procspeech = PROCSPEECH, c6e3fd22cd5383 William Hubbs 2010-10-07 113.clear = SYNTH_CLEAR, c6e3fd22cd5383 William Hubbs 2010-10-07 114.delay = 500, c6e3fd22cd5383 William Hubbs 2010-10-07 115.trigger = 50, c6e3fd22cd5383 William Hubbs 2010-10-07 116.jiffies = 50, c6e3fd22cd5383 William Hubbs 2010-10-07 117.full = 4, 8a21ff775f5654 Okash Khawaja 2017-06-25 118.dev_name = SYNTH_DEFAULT_DEV, c6e3fd22cd5383 William Hubbs 2010-10-07 119.startup = SYNTH_START, c6e3fd22cd5383 William Hubbs 2010-10-07 120.checkval = SYNTH_CHECK, c6e3fd22cd5383 William Hubbs 2010-10-07 121.vars = vars, c6e3fd22cd5383 William Hubbs 2010-10-07 122.default_pitch = ap_defaults, c6e3fd22cd5383 William Hubbs 2010-10-07 123.default_vol = g5_defaults, 470790eefede39 Okash Khawaja 2017-05-15 124.io_ops = &spk_ttyio_ops, 470790eefede39 Okash Khawaja 2017-05-15 125.probe = spk_ttyio_synth_probe, 470790eefede39 Okash Khawaja 2017-05-15 126.release = spk_ttyio_release, 470790eefede39 Okash Khawaja 2017-05-15 127.synth_immediate = spk_ttyio_synth_immediate, c6e3fd22cd5383 William Hubbs 2010-10-07 128.catch_up = do_catch_up, c6e3fd22cd5383 William Hubbs 2010-10-07 129.flush = synth_flush, c6e3fd22cd5383 William Hubbs 2010-10-07 130.is_alive = spk_synth_is_alive_restart, c6e3fd22cd5383 William Hubbs 2010-10-07 131.synth_adjust = NULL, c6e3fd22cd5383 William Hubbs 2010-10-07 @132.read_buff_add = read_buff_add, c6e3fd22cd5383 William Hubbs 2010-10-07 133.get_index = get_index, c6e3fd22cd5383 William Hubbs 2010-10-07 134.indexing = { c6e3fd22cd5383 William Hubbs 2010-10-07 135.command = "[:in re %d ] ", c6e3fd22cd5383 William Hubbs 2010-10-07 136.lowindex = 1, c6e3fd22cd5383 William Hubbs 2010-10-07 137.highindex = 8, c6e3fd22cd5383 William Hubbs 2010-10-07 138.currindex = 1, c6e3fd22cd5383 William Hubbs 2010-10-07 139}, c6e3fd22cd5383 William Hubbs 2010-10-07 140.attributes = { c6e3fd22cd5383 William Hubbs 2010-10-07 141.attrs = synth_attrs, c6e3fd22cd5383 William Hubbs 2010-10-07 142.name = "dectlk", c6e3fd22cd5383 William Hubbs 2010-10-07 143}, c6e3fd22cd5383 William Hubbs 2010-10-07 144 }; c6e3fd22cd5383 William Hubbs 2010-10-07 145 :: The code at line 132 was first introduced by commit :: c6e3fd22cd538365bfeb82997d5b89562e077d42 Staging: add speakup to the staging directory :: TO: William Hubbs :: CC: Greg Kroah-Hartman --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .co
Re: [PATCH 0/9] staging: move greybus core out of staging
I can't compile greybus so it's hard to run Smatch on it... I have a Smatch thing which ignores missing includes and just tries its best. It mostly generates garbage output but a couple of these look like potential issues: drivers/staging/greybus/operation.c:379 gb_operation_message_alloc() warn: check 'message_size' for integer overflows 'kzalloc()' drivers/staging/greybus/light.c:1256 gb_lights_request_handler() warn: 'light->channels' double freed drivers/staging/greybus/light.c:1256 gb_lights_request_handler() warn: 'light->name' double freed regards, dan carpenter ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 0/9] staging: move greybus core out of staging
On Tue, Aug 27, 2019 at 04:36:11PM +0300, Dan Carpenter wrote: > I can't compile greybus so it's hard to run Smatch on it... I have a > Smatch thing which ignores missing includes and just tries its best. > It mostly generates garbage output but a couple of these look like > potential issues: Why can't you compile the code? > drivers/staging/greybus/operation.c:379 gb_operation_message_alloc() warn: > check 'message_size' for integer overflows 'kzalloc()' That should be checked on line 368, right? > drivers/staging/greybus/light.c:1256 gb_lights_request_handler() warn: > 'light->channels' double freed > drivers/staging/greybus/light.c:1256 gb_lights_request_handler() warn: > 'light->name' double freed I don't understand this warning, how are these potentially double freed? And the light.c file isn't moving out of drivers/staging/ just yet :) thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 0/9] staging: move greybus core out of staging
Hi, On Tue 27 Aug 2019 at 14:45, Greg Kroah-Hartman wrote: > On Tue, Aug 27, 2019 at 04:36:11PM +0300, Dan Carpenter wrote: >> I can't compile greybus so it's hard to run Smatch on it... I have a >> Smatch thing which ignores missing includes and just tries its best. >> It mostly generates garbage output but a couple of these look like >> potential issues: > > Why can't you compile the code? > I think we are missing includes in some of the greybus header files. > >> drivers/staging/greybus/operation.c:379 gb_operation_message_alloc() warn: >> check 'message_size' for integer overflows 'kzalloc()' > > That should be checked on line 368, right? > >> drivers/staging/greybus/light.c:1256 gb_lights_request_handler() warn: >> 'light->channels' double freed >> drivers/staging/greybus/light.c:1256 gb_lights_request_handler() warn: >> 'light->name' double freed > > I don't understand this warning, how are these potentially double freed? > > And the light.c file isn't moving out of drivers/staging/ just yet :) > I will take a look at this also. Cheers, Rui
Re: [PATCH 0/9] staging: move greybus core out of staging
On Tue, Aug 27, 2019 at 03:45:57PM +0200, Greg Kroah-Hartman wrote: > Why can't you compile the code? > Now that I try to investigate the compile errors, it starts to compile perfectly... > > drivers/staging/greybus/operation.c:379 gb_operation_message_alloc() warn: > > check 'message_size' for integer overflows 'kzalloc()' > > That should be checked on line 368, right? This is a false positive. I assumed it was related to the compile problem... > > > drivers/staging/greybus/light.c:1256 gb_lights_request_handler() warn: > > 'light->channels' double freed > > drivers/staging/greybus/light.c:1256 gb_lights_request_handler() warn: > > 'light->name' double freed > > I don't understand this warning, how are these potentially double freed? I will fix these. regards, dan carpenter ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 2/9] staging: greybus: remove license "boilerplate"
On Sun, Aug 25, 2019 at 07:54:22AM +0200, Greg Kroah-Hartman wrote: > When the greybus drivers were converted to SPDX identifiers for the > license text, some license boilerplate was not removed. Clean this up > by removing this unneeded text now. > > Cc: Johan Hovold > Cc: Alex Elder > Cc: Vaibhav Agarwal > Cc: Mark Greer > Cc: Viresh Kumar > Cc: "Bryan O'Donoghue" > Cc: greybus-...@lists.linaro.org > Cc: de...@driverdev.osuosl.org > Signed-off-by: Greg Kroah-Hartman > --- Acked-by: Mark Greer ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 7/9] staging: greybus: move core include files to include/linux/greybus/
On Sun, Aug 25, 2019 at 07:54:27AM +0200, Greg Kroah-Hartman wrote: > With the goal of moving the core of the greybus code out of staging, the > include files need to be moved to include/linux/greybus.h and > include/linux/greybus/ > > Cc: Vaibhav Hiremath > Cc: Johan Hovold > Cc: Alex Elder > Cc: Vaibhav Agarwal > Cc: Mark Greer > Cc: Viresh Kumar > Cc: Rui Miguel Silva > Cc: David Lin > Cc: "Bryan O'Donoghue" > Cc: greybus-...@lists.linaro.org > Cc: de...@driverdev.osuosl.org > Signed-off-by: Greg Kroah-Hartman > --- Acked-by: Mark Greer ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 0/9] staging: move greybus core out of staging
On Tue, Aug 27, 2019 at 03:30:21PM +0100, Rui Miguel Silva wrote: > Hi, > On Tue 27 Aug 2019 at 14:45, Greg Kroah-Hartman wrote: > > On Tue, Aug 27, 2019 at 04:36:11PM +0300, Dan Carpenter wrote: > >> I can't compile greybus so it's hard to run Smatch on it... I have a > >> Smatch thing which ignores missing includes and just tries its best. > >> It mostly generates garbage output but a couple of these look like > >> potential issues: > > > > Why can't you compile the code? > > > > I think we are missing includes in some of the > greybus header files. Really? Where? Builds fine here and passes 0-day :) thanks, greg k-h
Re: [PATCH 1/9] staging: greybus: fix up SPDX comment in .h files
On Tue, Aug 27, 2019 at 05:20:36PM +0800, Gao Xiang wrote: > Hi Greg, > > On Tue, Aug 27, 2019 at 09:58:02AM +0200, Greg Kroah-Hartman wrote: > > On Mon, Aug 26, 2019 at 11:21:19AM +0530, Viresh Kumar wrote: > > > On 25-08-19, 07:54, Greg Kroah-Hartman wrote: > > > > When these files originally got an SPDX tag, I used // instead of /* */ > > > > for the .h files. Fix this up to use // properly. > > > > > > > > Cc: Viresh Kumar > > > > Cc: Johan Hovold > > > > Cc: Alex Elder > > > > Cc: greybus-...@lists.linaro.org > > > > Cc: de...@driverdev.osuosl.org > > > > Signed-off-by: Greg Kroah-Hartman > > > > --- > > > > drivers/staging/greybus/firmware.h | 2 +- > > > > drivers/staging/greybus/gb-camera.h | 2 +- > > > > drivers/staging/greybus/gbphy.h | 2 +- > > > > drivers/staging/greybus/greybus.h| 2 +- > > > > drivers/staging/greybus/greybus_authentication.h | 2 +- > > > > drivers/staging/greybus/greybus_firmware.h | 2 +- > > > > drivers/staging/greybus/greybus_manifest.h | 2 +- > > > > drivers/staging/greybus/greybus_protocols.h | 2 +- > > > > drivers/staging/greybus/greybus_trace.h | 2 +- > > > > drivers/staging/greybus/hd.h | 2 +- > > > > drivers/staging/greybus/interface.h | 2 +- > > > > drivers/staging/greybus/manifest.h | 2 +- > > > > drivers/staging/greybus/module.h | 2 +- > > > > drivers/staging/greybus/operation.h | 2 +- > > > > drivers/staging/greybus/spilib.h | 2 +- > > > > drivers/staging/greybus/svc.h| 2 +- > > > > 16 files changed, 16 insertions(+), 16 deletions(-) > > > > > > Acked-by: Viresh Kumar > > > > Thanks for all of the acks! > > > > greg k-h > > I found similar issues of graybus when I tested the latest staging-testing > > In file included from :0:0: > ./include/linux/greybus/greybus_protocols.h:45:2: error: unknown type name > ‘__le16’ > __le16 size; /* Size in bytes of header + payload */ > ^~ > ./include/linux/greybus/greybus_protocols.h:46:2: error: unknown type name > ‘__le16’ > __le16 operation_id; /* Operation unique id */ > ^~ > ./include/linux/greybus/greybus_protocols.h:47:2: error: unknown type name > ‘__u8’ > __u8 type; /* E.g GB_I2C_TYPE_* or GB_GPIO_TYPE_* */ > ^~~~ > ./include/linux/greybus/greybus_protocols.h:48:2: error: unknown type name > ‘__u8’ > __u8 result; /* Result of request (in responses only) */ > ^~~~ > ./include/linux/greybus/greybus_protocols.h:49:2: error: unknown type name > ‘__u8’ > __u8 pad[2]; /* must be zero (ignore when read) */ > ^~~~ > ./include/linux/greybus/greybus_protocols.h:58:2: error: unknown type name > ‘__u8’ > __u8 phase; > ^~~~ > ./include/linux/greybus/greybus_protocols.h:88:2: error: unknown type name > ‘__u8’ > __u8 major; > ^~~~ > ./include/linux/greybus/greybus_protocols.h:89:2: error: unknown type name > ‘__u8’ > __u8 minor; > ^~~~ > ./include/linux/greybus/greybus_protocols.h:93:2: error: unknown type name > ‘__u8’ > __u8 major; > ^~~~ > ./include/linux/greybus/greybus_protocols.h:94:2: error: unknown type name > ‘__u8’ > __u8 minor; > ^~~~ > ./include/linux/greybus/greybus_protocols.h:98:2: error: unknown type name > ‘__u8’ > __u8 bundle_id; > ^~~~ > ./include/linux/greybus/greybus_protocols.h:102:2: error: unknown type name > ‘__u8’ > __u8 major; > ^~~~ > ./include/linux/greybus/greybus_protocols.h:103:2: error: unknown type name > ‘__u8’ > __u8 minor; > ^~~~ > ./include/linux/greybus/greybus_protocols.h:108:2: error: unknown type name > ‘__le16’ > __le16 size; > ^~ > ./include/linux/greybus/greybus_protocols.h:113:2: error: unknown type name > ‘__u8’ > __u8 data[0]; > ^~~~ > ./include/linux/greybus/greybus_protocols.h:118:2: error: unknown type name > ‘__le16’ > __le16 cport_id; > ^~ > ./include/linux/greybus/greybus_protocols.h:122:2: error: unknown type name > ‘__le16’ > __le16 cport_id; > > .. and other files... > > Not very sure... but it seems it can be observed with allmodconfig or > CONFIG_KERNEL_HEADER_TEST=y and fail my compilation... > Hope that of some help (kind reminder...) Ah, thank you so much for this, NOW that makes sense why I got that odd kbuild warning that I could not figure out. Let me go fix this up, thank you so much. greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] staging: greybus: add missing includes
Before moving greybus core out of staging and moving header files to include/linux some greybus header files were missing the necessary includes. This would trigger compilation faillures with some example errors logged bellow for with CONFIG_KERNEL_HEADER_TEST=y. So, add the necessary headers to compile clean before relocating the header files. ./include/linux/greybus/hd.h:23:50: error: unknown type name 'u16' int (*cport_disable)(struct gb_host_device *hd, u16 cport_id); ^~~ ./include/linux/greybus/greybus_protocols.h:1314:2: error: unknown type name '__u8' __u8 data[0]; ^~~~ ./include/linux/greybus/hd.h:24:52: error: unknown type name 'u16' int (*cport_connected)(struct gb_host_device *hd, u16 cport_id); ^~~ ./include/linux/greybus/hd.h:25:48: error: unknown type name 'u16' int (*cport_flush)(struct gb_host_device *hd, u16 cport_id); ^~~ ./include/linux/greybus/hd.h:26:51: error: unknown type name 'u16' int (*cport_shutdown)(struct gb_host_device *hd, u16 cport_id, ^~~ ./include/linux/greybus/hd.h:27:5: error: unknown type name 'u8' u8 phase, unsigned int timeout); ^~ ./include/linux/greybus/hd.h:28:50: error: unknown type name 'u16' int (*cport_quiesce)(struct gb_host_device *hd, u16 cport_id, ^~~ ./include/linux/greybus/hd.h:29:5: error: unknown type name 'size_t' size_t peer_space, unsigned int timeout); ^~ ./include/linux/greybus/hd.h:29:5: note: 'size_t' is defined in header ''; did you forget to '#include '? ./include/linux/greybus/hd.h:1:1: +#include /* SPDX-License-Identifier: GPL-2.0 */ ./include/linux/greybus/hd.h:29:5: size_t peer_space, unsigned int timeout); ^~ ./include/linux/greybus/hd.h:30:48: error: unknown type name 'u16' int (*cport_clear)(struct gb_host_device *hd, u16 cport_id); ^~~ ./include/linux/greybus/hd.h:32:49: error: unknown type name 'u16' int (*message_send)(struct gb_host_device *hd, u16 dest_cport_id, ^~~ ./include/linux/greybus/hd.h:33:32: error: unknown type name 'gfp_t' struct gb_message *message, gfp_t gfp_mask); ^ ./include/linux/greybus/hd.h:35:55: error: unknown type name 'u16' int (*latency_tag_enable)(struct gb_host_device *hd, u16 cport_id); Signed-off-by: Rui Miguel Silva Signed-off-by: Rui Miguel Silva --- drivers/staging/greybus/bundle.h| 3 +++ drivers/staging/greybus/connection.h| 3 +++ drivers/staging/greybus/control.h | 3 +++ drivers/staging/greybus/greybus_manifest.h | 3 +++ drivers/staging/greybus/greybus_protocols.h | 2 ++ drivers/staging/greybus/hd.h| 3 +++ drivers/staging/greybus/interface.h | 3 +++ drivers/staging/greybus/manifest.h | 2 ++ drivers/staging/greybus/module.h| 3 +++ drivers/staging/greybus/operation.h | 5 + drivers/staging/greybus/svc.h | 3 +++ 11 files changed, 33 insertions(+) diff --git a/drivers/staging/greybus/bundle.h b/drivers/staging/greybus/bundle.h index 8734d2055657..69fe5610bb42 100644 --- a/drivers/staging/greybus/bundle.h +++ b/drivers/staging/greybus/bundle.h @@ -9,7 +9,10 @@ #ifndef __BUNDLE_H #define __BUNDLE_H +#include #include +#include +#include #defineBUNDLE_ID_NONE U8_MAX diff --git a/drivers/staging/greybus/connection.h b/drivers/staging/greybus/connection.h index 5ca3befc0636..d59b7fc1de3e 100644 --- a/drivers/staging/greybus/connection.h +++ b/drivers/staging/greybus/connection.h @@ -9,8 +9,11 @@ #ifndef __CONNECTION_H #define __CONNECTION_H +#include #include #include +#include +#include #define GB_CONNECTION_FLAG_CSD BIT(0) #define GB_CONNECTION_FLAG_NO_FLOWCTRL BIT(1) diff --git a/drivers/staging/greybus/control.h b/drivers/staging/greybus/control.h index 3a29ec05f631..0d4e2ed20fe4 100644 --- a/drivers/staging/greybus/control.h +++ b/drivers/staging/greybus/control.h @@ -9,6 +9,9 @@ #ifndef __CONTROL_H #define __CONTROL_H +#include +#include + struct gb_control { struct device dev; struct gb_interface *intf; diff --git a/drivers/staging/greybus/greybus_manifest.h b/drivers/staging/greybus/greybus_manifest.h index 2cec5cf7a846..1cb60af4febd 100644 --- a/drivers/staging/greybus/greybus_manifest.h +++ b/drivers/staging/greybus/greybus_manifest.h @@ -14,6 +14,9 @@ #ifndef __GREYBUS_MANIFEST_H #define __GREYBUS_MANIFEST_H +#include +#include + enum greybus_descriptor_type { GREYBUS_TYPE_INVALID= 0x00, GREYBUS_TYPE_INTERFACE = 0x01, diff --git a/drivers/staging/greybus/greybus_protocols.h b/drivers/staging/greybus/greybus_protocols.h index ddc73f10eb22..e883edb50ed8 100644 --- a/drivers/staging/greybus/greybus_protocols.h +++ b/drivers/staging/greybus/greybus_protocols.h @@ -53,6 +53,8 @@ #ifndef __GREYBUS_PROTOCOLS_H #define __GREYBUS_PROTOCOLS_H +#include + /* Fixed IDs for control/svc protocols */ /* SVC switch-port device ids */ diff --git a/drivers/staging/greybus/hd.h b/drivers/staging/greybus/hd.h index 6cf
Re: [PATCH 0/9] staging: move greybus core out of staging
Hi Greg, On Tue 27 Aug 2019 at 16:43, Greg KH wrote: > On Tue, Aug 27, 2019 at 03:30:21PM +0100, Rui Miguel Silva wrote: >> Hi, >> On Tue 27 Aug 2019 at 14:45, Greg Kroah-Hartman wrote: >> > On Tue, Aug 27, 2019 at 04:36:11PM +0300, Dan Carpenter wrote: >> >> I can't compile greybus so it's hard to run Smatch on it... I have a >> >> Smatch thing which ignores missing includes and just tries its best. >> >> It mostly generates garbage output but a couple of these look like >> >> potential issues: >> > >> > Why can't you compile the code? >> > >> >> I think we are missing includes in some of the >> greybus header files. > > Really? Where? Builds fine here and passes 0-day :) > Yeah; just sent a patch to fix it. Cheers, Rui ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/9] staging: greybus: fix up SPDX comment in .h files
On Tue, Aug 27, 2019 at 05:43:43PM +0200, Greg Kroah-Hartman wrote: > On Tue, Aug 27, 2019 at 05:20:36PM +0800, Gao Xiang wrote: > > Hi Greg, > > > > On Tue, Aug 27, 2019 at 09:58:02AM +0200, Greg Kroah-Hartman wrote: > > > On Mon, Aug 26, 2019 at 11:21:19AM +0530, Viresh Kumar wrote: > > > > On 25-08-19, 07:54, Greg Kroah-Hartman wrote: > > > > > When these files originally got an SPDX tag, I used // instead of /* > > > > > */ > > > > > for the .h files. Fix this up to use // properly. > > > > > > > > > > Cc: Viresh Kumar > > > > > Cc: Johan Hovold > > > > > Cc: Alex Elder > > > > > Cc: greybus-...@lists.linaro.org > > > > > Cc: de...@driverdev.osuosl.org > > > > > Signed-off-by: Greg Kroah-Hartman > > > > > --- > > > > > drivers/staging/greybus/firmware.h | 2 +- > > > > > drivers/staging/greybus/gb-camera.h | 2 +- > > > > > drivers/staging/greybus/gbphy.h | 2 +- > > > > > drivers/staging/greybus/greybus.h| 2 +- > > > > > drivers/staging/greybus/greybus_authentication.h | 2 +- > > > > > drivers/staging/greybus/greybus_firmware.h | 2 +- > > > > > drivers/staging/greybus/greybus_manifest.h | 2 +- > > > > > drivers/staging/greybus/greybus_protocols.h | 2 +- > > > > > drivers/staging/greybus/greybus_trace.h | 2 +- > > > > > drivers/staging/greybus/hd.h | 2 +- > > > > > drivers/staging/greybus/interface.h | 2 +- > > > > > drivers/staging/greybus/manifest.h | 2 +- > > > > > drivers/staging/greybus/module.h | 2 +- > > > > > drivers/staging/greybus/operation.h | 2 +- > > > > > drivers/staging/greybus/spilib.h | 2 +- > > > > > drivers/staging/greybus/svc.h| 2 +- > > > > > 16 files changed, 16 insertions(+), 16 deletions(-) > > > > > > > > Acked-by: Viresh Kumar > > > > > > Thanks for all of the acks! > > > > > > greg k-h > > > > I found similar issues of graybus when I tested the latest staging-testing > > > > In file included from :0:0: > > ./include/linux/greybus/greybus_protocols.h:45:2: error: unknown type name > > ??_le16?? > > __le16 size; /* Size in bytes of header + payload */ > > ^~ > > ./include/linux/greybus/greybus_protocols.h:46:2: error: unknown type name > > ??_le16?? > > __le16 operation_id; /* Operation unique id */ > > ^~ > > ./include/linux/greybus/greybus_protocols.h:47:2: error: unknown type name > > ??_u8?? > > __u8 type; /* E.g GB_I2C_TYPE_* or GB_GPIO_TYPE_* */ > > ^~~~ > > ./include/linux/greybus/greybus_protocols.h:48:2: error: unknown type name > > ??_u8?? > > __u8 result; /* Result of request (in responses only) */ > > ^~~~ > > ./include/linux/greybus/greybus_protocols.h:49:2: error: unknown type name > > ??_u8?? > > __u8 pad[2]; /* must be zero (ignore when read) */ > > ^~~~ > > ./include/linux/greybus/greybus_protocols.h:58:2: error: unknown type name > > ??_u8?? > > __u8 phase; > > ^~~~ > > ./include/linux/greybus/greybus_protocols.h:88:2: error: unknown type name > > ??_u8?? > > __u8 major; > > ^~~~ > > ./include/linux/greybus/greybus_protocols.h:89:2: error: unknown type name > > ??_u8?? > > __u8 minor; > > ^~~~ > > ./include/linux/greybus/greybus_protocols.h:93:2: error: unknown type name > > ??_u8?? > > __u8 major; > > ^~~~ > > ./include/linux/greybus/greybus_protocols.h:94:2: error: unknown type name > > ??_u8?? > > __u8 minor; > > ^~~~ > > ./include/linux/greybus/greybus_protocols.h:98:2: error: unknown type name > > ??_u8?? > > __u8 bundle_id; > > ^~~~ > > ./include/linux/greybus/greybus_protocols.h:102:2: error: unknown type name > > ??_u8?? > > __u8 major; > > ^~~~ > > ./include/linux/greybus/greybus_protocols.h:103:2: error: unknown type name > > ??_u8?? > > __u8 minor; > > ^~~~ > > ./include/linux/greybus/greybus_protocols.h:108:2: error: unknown type name > > ??_le16?? > > __le16 size; > > ^~ > > ./include/linux/greybus/greybus_protocols.h:113:2: error: unknown type name > > ??_u8?? > > __u8 data[0]; > > ^~~~ > > ./include/linux/greybus/greybus_protocols.h:118:2: error: unknown type name > > ??_le16?? > > __le16 cport_id; > > ^~ > > ./include/linux/greybus/greybus_protocols.h:122:2: error: unknown type name > > ??_le16?? > > __le16 cport_id; > > > > .. and other files... > > > > Not very sure... but it seems it can be observed with allmodconfig or > > CONFIG_KERNEL_HEADER_TEST=y and fail my compilation... > > Hope that of some help (kind reminder...) > > Ah, thank you so much for this, NOW that makes sense why I got that odd > kbuild warning that I could not figure out. Yeah, it seems KERNEL_HEADER_TEST is a new feature which aims at ensuring kernel headers are self-contained... I think it can be obse
Re: [PATCH 0/9] staging: move greybus core out of staging
On Tue, Aug 27, 2019 at 04:57:20PM +0100, Rui Miguel Silva wrote: > Hi Greg, > On Tue 27 Aug 2019 at 16:43, Greg KH wrote: > > On Tue, Aug 27, 2019 at 03:30:21PM +0100, Rui Miguel Silva wrote: > >> Hi, > >> On Tue 27 Aug 2019 at 14:45, Greg Kroah-Hartman wrote: > >> > On Tue, Aug 27, 2019 at 04:36:11PM +0300, Dan Carpenter wrote: > >> >> I can't compile greybus so it's hard to run Smatch on it... I have a > >> >> Smatch thing which ignores missing includes and just tries its best. > >> >> It mostly generates garbage output but a couple of these look like > >> >> potential issues: > >> > > >> > Why can't you compile the code? > >> > > >> > >> I think we are missing includes in some of the > >> greybus header files. > > > > Really? Where? Builds fine here and passes 0-day :) > > > > Yeah; just sent a patch to fix it. Thanks, now merged! greg k-h
Re: [PATCH] staging: greybus: add missing includes
On 8/27/19 10:53 AM, Rui Miguel Silva wrote: > Before moving greybus core out of staging and moving header files to > include/linux some greybus header files were missing the necessary > includes. This would trigger compilation faillures with some example > errors logged bellow for with CONFIG_KERNEL_HEADER_TEST=y. > > So, add the necessary headers to compile clean before relocating the > header files. This looks good to me; I trust you compiled it. There is one extra blank line you added in "operation.h" but that's not important. I don't think what I've done here serves as a real review, so: Acked-by: Alex Elder -Alex > > ./include/linux/greybus/hd.h:23:50: error: unknown type name 'u16' > int (*cport_disable)(struct gb_host_device *hd, u16 cport_id); ^~~ > ./include/linux/greybus/greybus_protocols.h:1314:2: error: unknown type name > '__u8' > __u8 data[0]; > ^~~~ > ./include/linux/greybus/hd.h:24:52: error: unknown type name 'u16' > int (*cport_connected)(struct gb_host_device *hd, u16 cport_id); ^~~ > ./include/linux/greybus/hd.h:25:48: error: unknown type name 'u16' > int (*cport_flush)(struct gb_host_device *hd, u16 cport_id); ^~~ > ./include/linux/greybus/hd.h:26:51: error: unknown type name 'u16' > int (*cport_shutdown)(struct gb_host_device *hd, u16 cport_id, ^~~ > ./include/linux/greybus/hd.h:27:5: error: unknown type name 'u8' > u8 phase, unsigned int timeout); > ^~ > ./include/linux/greybus/hd.h:28:50: error: unknown type name 'u16' > int (*cport_quiesce)(struct gb_host_device *hd, u16 cport_id, ^~~ > ./include/linux/greybus/hd.h:29:5: error: unknown type name 'size_t' > size_t peer_space, unsigned int timeout); > ^~ > ./include/linux/greybus/hd.h:29:5: note: 'size_t' is defined in header > ''; did you forget to '#include '? > ./include/linux/greybus/hd.h:1:1: > +#include > /* SPDX-License-Identifier: GPL-2.0 */ > ./include/linux/greybus/hd.h:29:5: > size_t peer_space, unsigned int timeout); > ^~ > ./include/linux/greybus/hd.h:30:48: error: unknown type name 'u16' > int (*cport_clear)(struct gb_host_device *hd, u16 cport_id); ^~~ > ./include/linux/greybus/hd.h:32:49: error: unknown type name 'u16' > int (*message_send)(struct gb_host_device *hd, u16 dest_cport_id, ^~~ > ./include/linux/greybus/hd.h:33:32: error: unknown type name 'gfp_t' > struct gb_message *message, gfp_t gfp_mask); ^ > ./include/linux/greybus/hd.h:35:55: error: unknown type name 'u16' > int (*latency_tag_enable)(struct gb_host_device *hd, u16 cport_id); > > Signed-off-by: Rui Miguel Silva > Signed-off-by: Rui Miguel Silva > --- > drivers/staging/greybus/bundle.h| 3 +++ > drivers/staging/greybus/connection.h| 3 +++ > drivers/staging/greybus/control.h | 3 +++ > drivers/staging/greybus/greybus_manifest.h | 3 +++ > drivers/staging/greybus/greybus_protocols.h | 2 ++ > drivers/staging/greybus/hd.h| 3 +++ > drivers/staging/greybus/interface.h | 3 +++ > drivers/staging/greybus/manifest.h | 2 ++ > drivers/staging/greybus/module.h| 3 +++ > drivers/staging/greybus/operation.h | 5 + > drivers/staging/greybus/svc.h | 3 +++ > 11 files changed, 33 insertions(+) > > diff --git a/drivers/staging/greybus/bundle.h > b/drivers/staging/greybus/bundle.h > index 8734d2055657..69fe5610bb42 100644 > --- a/drivers/staging/greybus/bundle.h > +++ b/drivers/staging/greybus/bundle.h > @@ -9,7 +9,10 @@ > #ifndef __BUNDLE_H > #define __BUNDLE_H > > +#include > #include > +#include > +#include > > #define BUNDLE_ID_NONE U8_MAX > > diff --git a/drivers/staging/greybus/connection.h > b/drivers/staging/greybus/connection.h > index 5ca3befc0636..d59b7fc1de3e 100644 > --- a/drivers/staging/greybus/connection.h > +++ b/drivers/staging/greybus/connection.h > @@ -9,8 +9,11 @@ > #ifndef __CONNECTION_H > #define __CONNECTION_H > > +#include > #include > #include > +#include > +#include > > #define GB_CONNECTION_FLAG_CSD BIT(0) > #define GB_CONNECTION_FLAG_NO_FLOWCTRL BIT(1) > diff --git a/drivers/staging/greybus/control.h > b/drivers/staging/greybus/control.h > index 3a29ec05f631..0d4e2ed20fe4 100644 > --- a/drivers/staging/greybus/control.h > +++ b/drivers/staging/greybus/control.h > @@ -9,6 +9,9 @@ > #ifndef __CONTROL_H > #define __CONTROL_H > > +#include > +#include > + > struct gb_control { > struct device dev; > struct gb_interface *intf; > diff --git a/drivers/staging/greybus/greybus_manifest.h > b/drivers/staging/greybus/greybus_manifest.h > index 2cec5cf7a846..1cb60af4febd 100644 > --- a/drivers/staging/greybus/greybus_manifest.h > +++ b/drivers/staging/greybus/greybus_manifest.h > @@ -14,6 +14,9 @@ > #ifndef __GREYBUS_MANIFEST_H > #define __GREYBUS_MANIFEST_H > > +#include > +#include > + > enum greybus_descriptor_type { > GREYBUS_TYPE_INVALID
Re: [PATCH] staging: greybus: add missing includes
Hi Alex, On Tue 27 Aug 2019 at 18:22, Alex Elder wrote: > On 8/27/19 10:53 AM, Rui Miguel Silva wrote: >> Before moving greybus core out of staging and moving header files to >> include/linux some greybus header files were missing the necessary >> includes. This would trigger compilation faillures with some example >> errors logged bellow for with CONFIG_KERNEL_HEADER_TEST=y. >> >> So, add the necessary headers to compile clean before relocating the >> header files. > > This looks good to me; I trust you compiled it. > Yeah, in the staging and in the new location to make sure it make the compilation issues go away. > There is one extra > blank line you added in "operation.h" but that's not important. > Right, I missed that. > > I don't think what I've done here serves as a real review, so: > > Acked-by: Alex Elder > I think Greg already queued up this one in staging-next, nevertheless many thanks for the acked. --- Cheers, Rui ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Investment Project
Hello, I am H.E Ali Shareef Al Emadi. Head of Operations at Finance and Account Department of Qatar Petroleum. I have an Investment opportunity of $30M already, for Investment in your Company. I need your assistance and co-operation to move it into your account as a Contract Payment with the Qatar Petroleum for onward investment in your country. Let me know if you can handle this, but if you can't, don't let this be known by any other person. It’s between you and I and must remain confidential due to my current position in my country. Kind regards, H.E Ali Shareef Al Emadi Finance and Account Department Qatar Petroleum Private Email: healishare...@gmail.com ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[staging:staging-testing 264/264] include/linux/greybus/svc.h:91:18: warning: 'struct gb_svc_l2_timer_cfg' declared inside parameter list will not be visible outside of this definition or declaration
tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/gregkh/staging.git staging-testing head: c10bf3921e743dadb11a6cf59ffaf38cdbeb281b commit: c10bf3921e743dadb11a6cf59ffaf38cdbeb281b [264/264] staging: greybus: add missing includes config: sh-allmodconfig (attached as .config) compiler: sh4-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout c10bf3921e743dadb11a6cf59ffaf38cdbeb281b # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=sh If you fix the issue, kindly add following tag Reported-by: kbuild test robot All warnings (new ones prefixed by >>): In file included from :0:0: >> include/linux/greybus/svc.h:91:18: warning: 'struct gb_svc_l2_timer_cfg' >> declared inside parameter list will not be visible outside of this >> definition or declaration struct gb_svc_l2_timer_cfg *local, ^~~ vim +91 include/linux/greybus/svc.h fc8a4027135252 drivers/staging/greybus/svc.h David Lin 2016-07-07 81 19151c3dd4cfcc drivers/staging/greybus/svc.h Viresh Kumar 2015-09-09 82 int gb_svc_dme_peer_get(struct gb_svc *svc, u8 intf_id, u16 attr, u16 selector, 19151c3dd4cfcc drivers/staging/greybus/svc.h Viresh Kumar 2015-09-09 83 u32 *value); 19151c3dd4cfcc drivers/staging/greybus/svc.h Viresh Kumar 2015-09-09 84 int gb_svc_dme_peer_set(struct gb_svc *svc, u8 intf_id, u16 attr, u16 selector, 19151c3dd4cfcc drivers/staging/greybus/svc.h Viresh Kumar 2015-09-09 85 u32 value); aab4a1a3684a46 drivers/staging/greybus/svc.h Laurent Pinchart 2016-01-06 86 int gb_svc_intf_set_power_mode(struct gb_svc *svc, u8 intf_id, u8 hs_series, aab4a1a3684a46 drivers/staging/greybus/svc.h Laurent Pinchart 2016-01-06 87 u8 tx_mode, u8 tx_gear, u8 tx_nlanes, 8c2522d87ab20b drivers/staging/greybus/svc.h Eli Sennesh2016-06-03 88 u8 tx_amplitude, u8 tx_hs_equalizer, aab4a1a3684a46 drivers/staging/greybus/svc.h Laurent Pinchart 2016-01-06 89 u8 rx_mode, u8 rx_gear, u8 rx_nlanes, 8c2522d87ab20b drivers/staging/greybus/svc.h Eli Sennesh2016-06-03 90 u8 flags, u32 quirks, 8c2522d87ab20b drivers/staging/greybus/svc.h Eli Sennesh2016-06-03 @91 struct gb_svc_l2_timer_cfg *local, 8c2522d87ab20b drivers/staging/greybus/svc.h Eli Sennesh2016-06-03 92 struct gb_svc_l2_timer_cfg *remote); c7dc28ff2b47d6 drivers/staging/greybus/svc.h David Lin 2016-07-07 93 int gb_svc_intf_set_power_mode_hibernate(struct gb_svc *svc, u8 intf_id); 55ec09e898adb4 drivers/staging/greybus/svc.h Greg Kroah-Hartman 2016-01-19 94 int gb_svc_ping(struct gb_svc *svc); ed7279ae31b0a0 drivers/staging/greybus/svc.h Greg Kroah-Hartman 2016-01-20 95 int gb_svc_watchdog_create(struct gb_svc *svc); ed7279ae31b0a0 drivers/staging/greybus/svc.h Greg Kroah-Hartman 2016-01-20 96 void gb_svc_watchdog_destroy(struct gb_svc *svc); d562853d3ecc31 drivers/staging/greybus/svc.h Greg Kroah-Hartman 2016-01-26 97 bool gb_svc_watchdog_enabled(struct gb_svc *svc); d562853d3ecc31 drivers/staging/greybus/svc.h Greg Kroah-Hartman 2016-01-26 98 int gb_svc_watchdog_enable(struct gb_svc *svc); d562853d3ecc31 drivers/staging/greybus/svc.h Greg Kroah-Hartman 2016-01-26 99 int gb_svc_watchdog_disable(struct gb_svc *svc); 30c6d9d753724b drivers/staging/greybus/svc.h Alex Elder 2015-05-22 100 :: The code at line 91 was first introduced by commit :: 8c2522d87ab20ba245ddf92e4e8b19a76e5760fd greybus: update UniPro Set Interface Power Mode operation to match spec :: TO: Eli Sennesh :: CC: Greg Kroah-Hartman --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 0/4] Add binder state and statistics to binderfs
Currently, the only way to access binder state and statistics is through debugfs. We need a way to access the same even when debugfs is not mounted. These patches add a mount option to make this information available in binderfs without affecting its presence in debugfs. The following debugfs nodes will be made available in a binderfs instance when mounted with the mount option 'stats=global' or 'stats=local'. /sys/kernel/debug/binder/failed_transaction_log /sys/kernel/debug/binder/proc /sys/kernel/debug/binder/state /sys/kernel/debug/binder/stats /sys/kernel/debug/binder/transaction_log /sys/kernel/debug/binder/transactions Hridya Valsaraju (4): binder: add a mount option to show global stats binder: Add stats, state and transactions files binder: Make transaction_log available in binderfs binder: Add binder_proc logging to binderfs drivers/android/binder.c | 87 +- drivers/android/binder_internal.h | 84 ++ drivers/android/binderfs.c| 256 ++ 3 files changed, 355 insertions(+), 72 deletions(-) -- 2.23.0.187.g17f5b7556c-goog ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 2/4] binder: Add stats, state and transactions files
The following binder stat files currently live in debugfs. /sys/kernel/debug/binder/state /sys/kernel/debug/binder/stats /sys/kernel/debug/binder/transactions This patch makes these files available in a binderfs instance mounted with the mount option 'stats=global'. For example, if a binderfs instance is mounted at path /dev/binderfs, the above files will be available at the following locations: /dev/binderfs/binder_logs/state /dev/binderfs/binder_logs/stats /dev/binderfs/binder_logs/transactions This provides a way to access them even when debugfs is not mounted. Signed-off-by: Hridya Valsaraju --- drivers/android/binder.c | 15 ++-- drivers/android/binder_internal.h | 8 ++ drivers/android/binderfs.c| 137 +- 3 files changed, 150 insertions(+), 10 deletions(-) diff --git a/drivers/android/binder.c b/drivers/android/binder.c index ca6b21a53321..de795bd229c4 100644 --- a/drivers/android/binder.c +++ b/drivers/android/binder.c @@ -6055,7 +6055,7 @@ static void print_binder_proc_stats(struct seq_file *m, } -static int state_show(struct seq_file *m, void *unused) +int binder_state_show(struct seq_file *m, void *unused) { struct binder_proc *proc; struct binder_node *node; @@ -6094,7 +6094,7 @@ static int state_show(struct seq_file *m, void *unused) return 0; } -static int stats_show(struct seq_file *m, void *unused) +int binder_stats_show(struct seq_file *m, void *unused) { struct binder_proc *proc; @@ -6110,7 +6110,7 @@ static int stats_show(struct seq_file *m, void *unused) return 0; } -static int transactions_show(struct seq_file *m, void *unused) +int binder_transactions_show(struct seq_file *m, void *unused) { struct binder_proc *proc; @@ -6198,9 +6198,6 @@ const struct file_operations binder_fops = { .release = binder_release, }; -DEFINE_SHOW_ATTRIBUTE(state); -DEFINE_SHOW_ATTRIBUTE(stats); -DEFINE_SHOW_ATTRIBUTE(transactions); DEFINE_SHOW_ATTRIBUTE(transaction_log); static int __init init_binder_device(const char *name) @@ -6256,17 +6253,17 @@ static int __init binder_init(void) 0444, binder_debugfs_dir_entry_root, NULL, - &state_fops); + &binder_state_fops); debugfs_create_file("stats", 0444, binder_debugfs_dir_entry_root, NULL, - &stats_fops); + &binder_stats_fops); debugfs_create_file("transactions", 0444, binder_debugfs_dir_entry_root, NULL, - &transactions_fops); + &binder_transactions_fops); debugfs_create_file("transaction_log", 0444, binder_debugfs_dir_entry_root, diff --git a/drivers/android/binder_internal.h b/drivers/android/binder_internal.h index fe8c745dc8e0..12ef96f256c6 100644 --- a/drivers/android/binder_internal.h +++ b/drivers/android/binder_internal.h @@ -57,4 +57,12 @@ static inline int __init init_binderfs(void) } #endif +int binder_stats_show(struct seq_file *m, void *unused); +DEFINE_SHOW_ATTRIBUTE(binder_stats); + +int binder_state_show(struct seq_file *m, void *unused); +DEFINE_SHOW_ATTRIBUTE(binder_state); + +int binder_transactions_show(struct seq_file *m, void *unused); +DEFINE_SHOW_ATTRIBUTE(binder_transactions); #endif /* _LINUX_BINDER_INTERNAL_H */ diff --git a/drivers/android/binderfs.c b/drivers/android/binderfs.c index d95d179aec58..d542f9b8d8ab 100644 --- a/drivers/android/binderfs.c +++ b/drivers/android/binderfs.c @@ -280,7 +280,7 @@ static void binderfs_evict_inode(struct inode *inode) clear_inode(inode); - if (!device) + if (!device || S_ISREG(inode->i_mode)) return; mutex_lock(&binderfs_minors_mutex); @@ -504,6 +504,138 @@ static const struct inode_operations binderfs_dir_inode_operations = { .unlink = binderfs_unlink, }; +static struct inode *binderfs_make_inode(struct super_block *sb, int mode) +{ + struct inode *ret; + + ret = new_inode(sb); + if (ret) { + ret->i_ino = iunique(sb, BINDERFS_MAX_MINOR + INODE_OFFSET); + ret->i_mode = mode; + ret->i_atime = ret->i_mtime = ret->i_ctime = current_time(ret); + } + return ret; +} + +static struct dentry *binderfs_create_dentry(struct dentry *dir, +const char *name) +{ + struct dentry *dentry; + + dentry = lookup_one_len(name, dir, strlen(name)); +
[PATCH 1/4] binder: add a mount option to show global stats
Currently, all binder state and statistics live in debugfs. We need this information even when debugfs is not mounted. This patch adds the mount option 'stats' to enable a binderfs instance to have binder debug information present in the same. 'stats=global' will enable the global binder statistics. In the future, 'stats=local' will enable binder statistics local to the binderfs instance. The two modes 'global' and 'local' will be mutually exclusive. 'stats=global' option is only available for a binderfs instance mounted in the initial user namespace. An attempt to use the option to mount a binderfs instance in another user namespace will return an EPERM error. Signed-off-by: Hridya Valsaraju --- drivers/android/binderfs.c | 47 -- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/drivers/android/binderfs.c b/drivers/android/binderfs.c index cc2e71576396..d95d179aec58 100644 --- a/drivers/android/binderfs.c +++ b/drivers/android/binderfs.c @@ -51,18 +51,27 @@ static DEFINE_IDA(binderfs_minors); /** * binderfs_mount_opts - mount options for binderfs * @max: maximum number of allocatable binderfs binder devices + * @stats_mode: enable binder stats in binderfs. */ struct binderfs_mount_opts { int max; + int stats_mode; }; enum { Opt_max, + Opt_stats_mode, Opt_err }; +enum binderfs_stats_mode { + STATS_NONE, + STATS_GLOBAL, +}; + static const match_table_t tokens = { { Opt_max, "max=%d" }, + { Opt_stats_mode, "stats=%s" }, { Opt_err, NULL } }; @@ -290,8 +299,9 @@ static void binderfs_evict_inode(struct inode *inode) static int binderfs_parse_mount_opts(char *data, struct binderfs_mount_opts *opts) { - char *p; + char *p, *stats; opts->max = BINDERFS_MAX_MINOR; + opts->stats_mode = STATS_NONE; while ((p = strsep(&data, ",")) != NULL) { substring_t args[MAX_OPT_ARGS]; @@ -311,6 +321,24 @@ static int binderfs_parse_mount_opts(char *data, opts->max = max_devices; break; + case Opt_stats_mode: + stats = match_strdup(&args[0]); + if (!stats) + return -ENOMEM; + + if (strcmp(stats, "global") != 0) { + kfree(stats); + return -EINVAL; + } + + if (!capable(CAP_SYS_ADMIN)) { + kfree(stats); + return -EINVAL; + } + + opts->stats_mode = STATS_GLOBAL; + kfree(stats); + break; default: pr_err("Invalid mount options\n"); return -EINVAL; @@ -322,8 +350,21 @@ static int binderfs_parse_mount_opts(char *data, static int binderfs_remount(struct super_block *sb, int *flags, char *data) { + int prev_stats_mode, ret; struct binderfs_info *info = sb->s_fs_info; - return binderfs_parse_mount_opts(data, &info->mount_opts); + + prev_stats_mode = info->mount_opts.stats_mode; + ret = binderfs_parse_mount_opts(data, &info->mount_opts); + if (ret) + return ret; + + if (prev_stats_mode != info->mount_opts.stats_mode) { + pr_info("Binderfs stats mode cannot be changed during a remount\n"); + info->mount_opts.stats_mode = prev_stats_mode; + return -EINVAL; + } + + return 0; } static int binderfs_show_mount_opts(struct seq_file *seq, struct dentry *root) @@ -333,6 +374,8 @@ static int binderfs_show_mount_opts(struct seq_file *seq, struct dentry *root) info = root->d_sb->s_fs_info; if (info->mount_opts.max <= BINDERFS_MAX_MINOR) seq_printf(seq, ",max=%d", info->mount_opts.max); + if (info->mount_opts.stats_mode == STATS_GLOBAL) + seq_printf(seq, ",stats=global"); return 0; } -- 2.23.0.187.g17f5b7556c-goog ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v2] staging: greybus: add missing includes
Before moving greybus core out of staging and moving header files to include/linux some greybus header files were missing the necessary includes. This would trigger compilation faillures with some example errors logged bellow for with CONFIG_KERNEL_HEADER_TEST=y. So, add the necessary headers to compile clean before relocating the header files. ./include/linux/greybus/hd.h:23:50: error: unknown type name 'u16' int (*cport_disable)(struct gb_host_device *hd, u16 cport_id); ^~~ ./include/linux/greybus/greybus_protocols.h:1314:2: error: unknown type name '__u8' __u8 data[0]; ^~~~ ./include/linux/greybus/hd.h:24:52: error: unknown type name 'u16' int (*cport_connected)(struct gb_host_device *hd, u16 cport_id); ^~~ ./include/linux/greybus/hd.h:25:48: error: unknown type name 'u16' int (*cport_flush)(struct gb_host_device *hd, u16 cport_id); ^~~ ./include/linux/greybus/hd.h:26:51: error: unknown type name 'u16' int (*cport_shutdown)(struct gb_host_device *hd, u16 cport_id, ^~~ ./include/linux/greybus/hd.h:27:5: error: unknown type name 'u8' u8 phase, unsigned int timeout); ^~ ./include/linux/greybus/hd.h:28:50: error: unknown type name 'u16' int (*cport_quiesce)(struct gb_host_device *hd, u16 cport_id, ^~~ ./include/linux/greybus/hd.h:29:5: error: unknown type name 'size_t' size_t peer_space, unsigned int timeout); ^~ ./include/linux/greybus/hd.h:29:5: note: 'size_t' is defined in header ''; did you forget to '#include '? ./include/linux/greybus/hd.h:1:1: +#include /* SPDX-License-Identifier: GPL-2.0 */ ./include/linux/greybus/hd.h:29:5: size_t peer_space, unsigned int timeout); ^~ ./include/linux/greybus/hd.h:30:48: error: unknown type name 'u16' int (*cport_clear)(struct gb_host_device *hd, u16 cport_id); ^~~ ./include/linux/greybus/hd.h:32:49: error: unknown type name 'u16' int (*message_send)(struct gb_host_device *hd, u16 dest_cport_id, ^~~ ./include/linux/greybus/hd.h:33:32: error: unknown type name 'gfp_t' struct gb_message *message, gfp_t gfp_mask); ^ ./include/linux/greybus/hd.h:35:55: error: unknown type name 'u16' int (*latency_tag_enable)(struct gb_host_device *hd, u16 cport_id); Reported-by: kbuild test robot Reported-by: Gao Xiang Signed-off-by: Rui Miguel Silva Acked-by: Alex Elder --- v1->v2: lkp@intel: - added greybus_protocols.h include to svc.h header Alex Elder: - remove extra line in operation.h Looks like lkp can now find missing headers that we can not :), it must be the config. but it is right. Greg please note the new include in svc.h may need to be changed when moving headers to include/linux drivers/staging/greybus/bundle.h| 3 +++ drivers/staging/greybus/connection.h| 3 +++ drivers/staging/greybus/control.h | 3 +++ drivers/staging/greybus/greybus_manifest.h | 3 +++ drivers/staging/greybus/greybus_protocols.h | 2 ++ drivers/staging/greybus/hd.h| 3 +++ drivers/staging/greybus/interface.h | 3 +++ drivers/staging/greybus/manifest.h | 2 ++ drivers/staging/greybus/module.h| 3 +++ drivers/staging/greybus/operation.h | 4 drivers/staging/greybus/svc.h | 5 + 11 files changed, 34 insertions(+) diff --git a/drivers/staging/greybus/bundle.h b/drivers/staging/greybus/bundle.h index 8734d2055657..69fe5610bb42 100644 --- a/drivers/staging/greybus/bundle.h +++ b/drivers/staging/greybus/bundle.h @@ -9,7 +9,10 @@ #ifndef __BUNDLE_H #define __BUNDLE_H +#include #include +#include +#include #defineBUNDLE_ID_NONE U8_MAX diff --git a/drivers/staging/greybus/connection.h b/drivers/staging/greybus/connection.h index 5ca3befc0636..d59b7fc1de3e 100644 --- a/drivers/staging/greybus/connection.h +++ b/drivers/staging/greybus/connection.h @@ -9,8 +9,11 @@ #ifndef __CONNECTION_H #define __CONNECTION_H +#include #include #include +#include +#include #define GB_CONNECTION_FLAG_CSD BIT(0) #define GB_CONNECTION_FLAG_NO_FLOWCTRL BIT(1) diff --git a/drivers/staging/greybus/control.h b/drivers/staging/greybus/control.h index 3a29ec05f631..0d4e2ed20fe4 100644 --- a/drivers/staging/greybus/control.h +++ b/drivers/staging/greybus/control.h @@ -9,6 +9,9 @@ #ifndef __CONTROL_H #define __CONTROL_H +#include +#include + struct gb_control { struct device dev; struct gb_interface *intf; diff --git a/drivers/staging/greybus/greybus_manifest.h b/drivers/staging/greybus/greybus_manifest.h index 2cec5cf7a846..1cb60af4febd 100644 --- a/drivers/staging/greybus/greybus_manifest.h +++ b/drivers/staging/greybus/greybus_manifest.h @@ -14,6 +14,9 @@ #ifndef __GREYBUS_MANIFEST_H #define __GREYBUS_MANIFEST_H +#include +#include + enum greybus_descriptor_type { GREYBUS_TYPE_INVALID= 0x00, GREYBUS_TYPE_INTERFACE = 0x01, diff --git a/drivers/staging/greybus/greybus_protocols.h b/drivers/staging/greybus/greybus_protocols.h index ddc73f10eb22
RE: [PATCH v4 0/8] Enable Linux guests on Hyper-V on ARM64
From: Michael Kelley Sent: Tuesday, August 6, 2019 1:31 PM > > This series enables Linux guests running on Hyper-V on ARM64 > hardware. New ARM64-specific code in arch/arm64/hyperv initializes > Hyper-V, including its interrupts and hypercall mechanism. > Existing architecture independent drivers for Hyper-V's VMbus and > synthetic devices just work when built for ARM64. Hyper-V code is > built and included in the image and modules only if CONFIG_HYPERV > is enabled. > > The eight patches are organized as follows: > 1) Add include files that define the Hyper-V interface as >described in the Hyper-V Top Level Functional Spec (TLFS), plus >additional definitions specific to Linux running on Hyper-V. > > 2 thru 6) Add core Hyper-V support on ARM64, including hypercalls, >interrupt handlers, kexec & panic handlers, and core hypervisor >initialization. > > 7) Update the existing VMbus driver to generalize interrupt >management across x86/x64 and ARM64. > > 8) Make CONFIG_HYPERV selectable on ARM64 in addition to x86/x64. > I'm hoping to get some feedback from the ARM64 maintainers on this series. Previous feedback has been incorporated, so it should be close to being able to go in. Michael ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v2] staging: rtl8192u: Fix indentation
Checkpatch reports WARNING:SUSPECT_CODE_INDENT in several places. Fix this by aligning code properly with tabs. Signed-off-by: Stephen Brennan --- Changes in v2: rebase on next-20190827, fixing conflict with spacing fixes. .../rtl8192u/ieee80211/ieee80211_crypt_ccmp.c | 2 +- .../staging/rtl8192u/ieee80211/ieee80211_rx.c | 112 +- .../staging/rtl8192u/ieee80211/ieee80211_tx.c | 2 +- .../staging/rtl8192u/ieee80211/ieee80211_wx.c | 8 +- drivers/staging/rtl8192u/r819xU_firmware.c| 2 +- 5 files changed, 63 insertions(+), 63 deletions(-) diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c index a43a5d617bd9..c241cf484023 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c @@ -345,7 +345,7 @@ static int ieee80211_ccmp_set_key(void *key, int len, u8 *seq, void *priv) } if (crypto_aead_setauthsize(tfm, CCMP_MIC_LEN) || crypto_aead_setkey(tfm, data->key, CCMP_TK_LEN)) - return -1; + return -1; } else if (len == 0) { data->key_set = 0; } else { diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c index a1462ec55767..5c33bcb0db2e 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c @@ -103,17 +103,17 @@ ieee80211_frag_cache_get(struct ieee80211_device *ieee, u8 tid; if (((fc & IEEE80211_FCTL_DSTODS) == IEEE80211_FCTL_DSTODS) && IEEE80211_QOS_HAS_SEQ(fc)) { - hdr_4addrqos = (struct rtl_80211_hdr_4addrqos *)hdr; - tid = le16_to_cpu(hdr_4addrqos->qos_ctl) & IEEE80211_QCTL_TID; - tid = UP2AC(tid); - tid++; + hdr_4addrqos = (struct rtl_80211_hdr_4addrqos *)hdr; + tid = le16_to_cpu(hdr_4addrqos->qos_ctl) & IEEE80211_QCTL_TID; + tid = UP2AC(tid); + tid++; } else if (IEEE80211_QOS_HAS_SEQ(fc)) { - hdr_3addrqos = (struct rtl_80211_hdr_3addrqos *)hdr; - tid = le16_to_cpu(hdr_3addrqos->qos_ctl) & IEEE80211_QCTL_TID; - tid = UP2AC(tid); - tid++; + hdr_3addrqos = (struct rtl_80211_hdr_3addrqos *)hdr; + tid = le16_to_cpu(hdr_3addrqos->qos_ctl) & IEEE80211_QCTL_TID; + tid = UP2AC(tid); + tid++; } else { - tid = 0; + tid = 0; } if (frag == 0) { @@ -170,17 +170,17 @@ static int ieee80211_frag_cache_invalidate(struct ieee80211_device *ieee, u8 tid; if (((fc & IEEE80211_FCTL_DSTODS) == IEEE80211_FCTL_DSTODS) && IEEE80211_QOS_HAS_SEQ(fc)) { - hdr_4addrqos = (struct rtl_80211_hdr_4addrqos *)hdr; - tid = le16_to_cpu(hdr_4addrqos->qos_ctl) & IEEE80211_QCTL_TID; - tid = UP2AC(tid); - tid++; + hdr_4addrqos = (struct rtl_80211_hdr_4addrqos *)hdr; + tid = le16_to_cpu(hdr_4addrqos->qos_ctl) & IEEE80211_QCTL_TID; + tid = UP2AC(tid); + tid++; } else if (IEEE80211_QOS_HAS_SEQ(fc)) { - hdr_3addrqos = (struct rtl_80211_hdr_3addrqos *)hdr; - tid = le16_to_cpu(hdr_3addrqos->qos_ctl) & IEEE80211_QCTL_TID; - tid = UP2AC(tid); - tid++; + hdr_3addrqos = (struct rtl_80211_hdr_3addrqos *)hdr; + tid = le16_to_cpu(hdr_3addrqos->qos_ctl) & IEEE80211_QCTL_TID; + tid = UP2AC(tid); + tid++; } else { - tid = 0; + tid = 0; } entry = ieee80211_frag_cache_find(ieee, seq, -1, tid, hdr->addr2, @@ -425,17 +425,17 @@ static int is_duplicate_packet(struct ieee80211_device *ieee, //TO2DS and QoS if (((fc & IEEE80211_FCTL_DSTODS) == IEEE80211_FCTL_DSTODS) && IEEE80211_QOS_HAS_SEQ(fc)) { - hdr_4addrqos = (struct rtl_80211_hdr_4addrqos *)header; - tid = le16_to_cpu(hdr_4addrqos->qos_ctl) & IEEE80211_QCTL_TID; - tid = UP2AC(tid); - tid++; + hdr_4addrqos = (struct rtl_80211_hdr_4addrqos *)header; + tid = le16_to_cpu(hdr_4addrqos->qos_ctl) & IEEE80211_QCTL_TID; + tid = UP2AC(tid); + tid++; } else if (IEEE80211_QOS_HAS_SEQ(fc)) { //QoS - hdr_3addrqos = (struct rtl_80211_hdr_3addrqos *)header; - tid = le16_to_cpu(hdr_3addrqos->qos_ctl) & IEEE80211_QCTL_TID; - tid = UP2AC(tid); - tid++; + hdr_3addrqos = (struct rtl_80211_hdr_3addrqos *)header; + tid = le16_to_cpu(hdr_3addrqos->qos_ctl) & IEEE80211_QCTL_TI