Re: [PATCH 1/1] staging: Driver for downloading Xilinx FPGA image
On Wed, Jan 8, 2014 at 10:16 PM, Greg KH wrote: > > On Wed, Jan 08, 2014 at 10:00:15PM -0800, Insop Song wrote: >> This module downloads Xilinx FPGA image using gpio pins >> >> DESIGN >> -- >> * load Xilinx FPGA bitstream format[1] image using kernel firmware >> * framework, >> request_firmware() > > Odd formatting of the changelog entry, care to fix this up? > I've updated and will send the 2nd patch. >> * program the Xilinx FPGA using SelectMAP (parallel) mode [2] >> * FPGA prgram is done by gpio based bit-banging, as an example >> * platform independent file: gs_fpgaboot.c >> * platform dependent file: io.c >> >> Signed-off-by: Insop Song >> --- >> drivers/staging/Kconfig |2 + >> drivers/staging/Makefile |1 + >> drivers/staging/gs_fpgaboot/Kconfig |8 + >> drivers/staging/gs_fpgaboot/Makefile |4 + >> drivers/staging/gs_fpgaboot/README| 60 >> drivers/staging/gs_fpgaboot/gs_fpgaboot.c | 505 >> + >> drivers/staging/gs_fpgaboot/gs_fpgaboot.h | 56 >> drivers/staging/gs_fpgaboot/io.c | 331 +++ >> drivers/staging/gs_fpgaboot/io.h | 90 + >> 9 files changed, 1057 insertions(+) >> create mode 100644 drivers/staging/gs_fpgaboot/Kconfig >> create mode 100644 drivers/staging/gs_fpgaboot/Makefile >> create mode 100644 drivers/staging/gs_fpgaboot/README >> create mode 100644 drivers/staging/gs_fpgaboot/gs_fpgaboot.c >> create mode 100644 drivers/staging/gs_fpgaboot/gs_fpgaboot.h >> create mode 100644 drivers/staging/gs_fpgaboot/io.c >> create mode 100644 drivers/staging/gs_fpgaboot/io.h > > Why is this driver going into the staging directory? We need a TODO > file listing the issues that need to be taken care of in order to be > able to move this out of the staging tree, can you please add that to > your next version? > Embedded systems with FPGA requires FPGA programming after the system is booted. I've written this driver to program FPGA after linux is booted. TODO file is added to 2nd patch, which to be sent out shortly. > Also be sure to add the responsible developer for the driver to the TODO > file, see the other examples for the format of what is needed here. > > >> --- /dev/null >> +++ b/drivers/staging/gs_fpgaboot/gs_fpgaboot.c >> @@ -0,0 +1,505 @@ >> +/* >> + * This program is free software; you can redistribute it and/or modify >> + * it under the terms of the GNU General Public License as published by >> + * the Free Software Foundation; either version 2 of the License, or >> + * (at your option) any later version. > > Do you really mean "any later version"? (sorry, I have to ask.) > Yes, sorry, I had to put. >> +/* Assert and Deassert CCLK */ >> +void xl_shift_cclk(int count) >> +{ >> + int i; >> + for (i = 0; i < count; i++) { >> + xl_cclk_b(1); >> + xl_cclk_b(0); >> + } >> +} >> +EXPORT_SYMBOL(xl_shift_cclk); > > You don't need to export symbols when they are only used in your own > module. > All EXPORT_SYMBOL() are removed, thank you. > thanks, > > greg k-h Thank you, ISS ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v2 0/2] staging: Driver for downloading Xilinx FPGA image
Update based on Greg's feedback Driver for downloading Xilinx FPGA image V2 - Add TODO - remove EXPORT_SYMBOL - update README fie format Insop Song (2): stagin: fpgaboot: Driver for downloading Xilinx FPGA image stagin: fpgaboot: Driver for downloading Xilinx FPGA image drivers/staging/Kconfig |2 + drivers/staging/Makefile |1 + drivers/staging/gs_fpgaboot/Kconfig |8 + drivers/staging/gs_fpgaboot/Makefile |4 + drivers/staging/gs_fpgaboot/README| 46 +++ drivers/staging/gs_fpgaboot/TODO | 14 + drivers/staging/gs_fpgaboot/gs_fpgaboot.c | 504 + drivers/staging/gs_fpgaboot/gs_fpgaboot.h | 56 drivers/staging/gs_fpgaboot/io.c | 316 ++ drivers/staging/gs_fpgaboot/io.h | 90 ++ 10 files changed, 1041 insertions(+) create mode 100644 drivers/staging/gs_fpgaboot/Kconfig create mode 100644 drivers/staging/gs_fpgaboot/Makefile create mode 100644 drivers/staging/gs_fpgaboot/README create mode 100644 drivers/staging/gs_fpgaboot/TODO create mode 100644 drivers/staging/gs_fpgaboot/gs_fpgaboot.c create mode 100644 drivers/staging/gs_fpgaboot/gs_fpgaboot.h create mode 100644 drivers/staging/gs_fpgaboot/io.c create mode 100644 drivers/staging/gs_fpgaboot/io.h -- 1.7.9.5 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v2 1/2] stagin: fpgaboot: Driver for downloading Xilinx FPGA image
This module downloads Xilinx FPGA image using gpio pins. It oads Xilinx FPGA bitstream format image and program the Xilinx FPGA using SelectMAP (parallel) mode. Signed-off-by: Insop Song --- drivers/staging/Kconfig |2 + drivers/staging/Makefile |1 + drivers/staging/gs_fpgaboot/Kconfig |8 + drivers/staging/gs_fpgaboot/Makefile |4 + drivers/staging/gs_fpgaboot/README| 60 drivers/staging/gs_fpgaboot/gs_fpgaboot.c | 505 + drivers/staging/gs_fpgaboot/gs_fpgaboot.h | 56 drivers/staging/gs_fpgaboot/io.c | 331 +++ drivers/staging/gs_fpgaboot/io.h | 90 + 9 files changed, 1057 insertions(+) create mode 100644 drivers/staging/gs_fpgaboot/Kconfig create mode 100644 drivers/staging/gs_fpgaboot/Makefile create mode 100644 drivers/staging/gs_fpgaboot/README create mode 100644 drivers/staging/gs_fpgaboot/gs_fpgaboot.c create mode 100644 drivers/staging/gs_fpgaboot/gs_fpgaboot.h create mode 100644 drivers/staging/gs_fpgaboot/io.c create mode 100644 drivers/staging/gs_fpgaboot/io.h diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig index d2beb07..c5c1c9c 100644 --- a/drivers/staging/Kconfig +++ b/drivers/staging/Kconfig @@ -150,4 +150,6 @@ source "drivers/staging/dgnc/Kconfig" source "drivers/staging/dgap/Kconfig" +source "drivers/staging/gs_fpgaboot/Kconfig" + endif # STAGING diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile index bf62386..9359019 100644 --- a/drivers/staging/Makefile +++ b/drivers/staging/Makefile @@ -67,3 +67,4 @@ obj-$(CONFIG_XILLYBUS)+= xillybus/ obj-$(CONFIG_DGNC) += dgnc/ obj-$(CONFIG_DGAP) += dgap/ obj-$(CONFIG_MTD_SPINAND_MT29F)+= mt29f_spinand/ +obj-$(CONFIG_GS_FPGABOOT) += gs_fpgaboot/ diff --git a/drivers/staging/gs_fpgaboot/Kconfig b/drivers/staging/gs_fpgaboot/Kconfig new file mode 100644 index 000..4fbbae1 --- /dev/null +++ b/drivers/staging/gs_fpgaboot/Kconfig @@ -0,0 +1,8 @@ +# +# "xilinx fpga download, fpgaboot" +# +config GS_FPGABOOT + tristate "Xilinx FPGA bitstream image download" + default n + help + Xilinx FPGA program image download diff --git a/drivers/staging/gs_fpgaboot/Makefile b/drivers/staging/gs_fpgaboot/Makefile new file mode 100644 index 000..34cb606 --- /dev/null +++ b/drivers/staging/gs_fpgaboot/Makefile @@ -0,0 +1,4 @@ +gs_fpga-y += gs_fpgaboot.o io.o +obj-$(CONFIG_GS_FPGABOOT) += gs_fpga.o + +ccflags-$(CONFIG_GS_FPGA_DEBUG):= -DDEBUG diff --git a/drivers/staging/gs_fpgaboot/README b/drivers/staging/gs_fpgaboot/README new file mode 100644 index 000..0f301a0 --- /dev/null +++ b/drivers/staging/gs_fpgaboot/README @@ -0,0 +1,60 @@ +== +Linux Driver Source for Xilinx FPGA image download + +* Gainspeed, Inc. +* Insop Song +== + + +TABLE OF CONTENTS. + +1. SUMMARY +2. BACKGROUND +3. DESIGN +4. HOW TO USE +5. REFERENCE + +-- +1. SUMMARY +-- + + * Download Xilinx FPGA image + * This module downloads Xilinx FPGA image using gpio pins. + +-- +2. BACKGROUND +-- + +An FPGA (Field Programmable Gate Array) is a programmable hardware that is +used in various applications. Hardware design needs to programmed through +a dedicated device or CPU assisted way (serial or parallel). + +This driver provides a way to download FPGA image. + + + +-- +3. DESIGN +-- +* load Xilinx FPGA bitstream format[1] image using kernel firmware framework, +request_firmware() +* program the Xilinx FPGA using SelectMAP (parallel) mode [2] +* FPGA prgram is done by gpio based bit-banging, as an example +* platform independent file: gs_fpgaboot.c +* platform dependent file: io.c + + +-- +4. HOW TO USE +-- + $ insmod gs_fpga.ko file="xlinx_fpga_top_bitstream.bit" + $ rmmod gs_fpga + +-- +5. REFERENCE +-- + +1. Xilinx APP NOTE XAPP583: +http://www.xilinx.com/support/documentation/application_notes/xapp583-fpga-configuration.pdf +2. bitstream file info: +h
[PATCH v2 2/2] stagin: fpgaboot: Driver for downloading Xilinx FPGA image
Review feedback, add TODO, remove EXPORT_SYMBOL, update README fie format Signed-off-by: Insop Song --- drivers/staging/gs_fpgaboot/README| 50 +++-- drivers/staging/gs_fpgaboot/TODO | 14 drivers/staging/gs_fpgaboot/gs_fpgaboot.c |1 - drivers/staging/gs_fpgaboot/io.c | 17 +- 4 files changed, 33 insertions(+), 49 deletions(-) create mode 100644 drivers/staging/gs_fpgaboot/TODO diff --git a/drivers/staging/gs_fpgaboot/README b/drivers/staging/gs_fpgaboot/README index 0f301a0..834100b 100644 --- a/drivers/staging/gs_fpgaboot/README +++ b/drivers/staging/gs_fpgaboot/README @@ -1,8 +1,5 @@ == Linux Driver Source for Xilinx FPGA image download - -* Gainspeed, Inc. -* Insop Song == @@ -14,47 +11,36 @@ TABLE OF CONTENTS. 4. HOW TO USE 5. REFERENCE --- 1. SUMMARY --- - * Download Xilinx FPGA image - * This module downloads Xilinx FPGA image using gpio pins. + - Download Xilinx FPGA image + - This module downloads Xilinx FPGA image using gpio pins. --- 2. BACKGROUND --- - -An FPGA (Field Programmable Gate Array) is a programmable hardware that is -used in various applications. Hardware design needs to programmed through -a dedicated device or CPU assisted way (serial or parallel). - -This driver provides a way to download FPGA image. + An FPGA (Field Programmable Gate Array) is a programmable hardware that is + used in various applications. Hardware design needs to programmed through + a dedicated device or CPU assisted way (serial or parallel). + This driver provides a way to download FPGA image. - --- 3. DESIGN --- -* load Xilinx FPGA bitstream format[1] image using kernel firmware framework, -request_firmware() -* program the Xilinx FPGA using SelectMAP (parallel) mode [2] -* FPGA prgram is done by gpio based bit-banging, as an example -* platform independent file: gs_fpgaboot.c -* platform dependent file: io.c + + - load Xilinx FPGA bitstream format[1] image using kernel firmware + framework, request_firmware() + - program the Xilinx FPGA using SelectMAP (parallel) mode [2] + - FPGA prgram is done by gpio based bit-banging, as an example + - platform independent file: gs_fpgaboot.c + - platform dependent file: io.c --- 4. HOW TO USE --- + $ insmod gs_fpga.ko file="xlinx_fpga_top_bitstream.bit" $ rmmod gs_fpga --- 5. REFERENCE --- -1. Xilinx APP NOTE XAPP583: -http://www.xilinx.com/support/documentation/application_notes/xapp583-fpga-configuration.pdf -2. bitstream file info: -http://home.earthlink.net/~davesullins/software/bitinfo.html + 1. Xilinx APP NOTE XAPP583: + http://www.xilinx.com/support/documentation/application_notes/xapp583-fpga-configuration.pdf + 2. bitstream file info: + http://home.earthlink.net/~davesullins/software/bitinfo.html diff --git a/drivers/staging/gs_fpgaboot/TODO b/drivers/staging/gs_fpgaboot/TODO new file mode 100644 index 000..1e4299b --- /dev/null +++ b/drivers/staging/gs_fpgaboot/TODO @@ -0,0 +1,14 @@ +TODO: +- get bus width input instead of hardcoded bus width + + - make it easier to config different programming method for + other embedded targets, such as, different combination of gpio + or serial programming + +DONE: + - run checkpatch + - build tested + +Please send any patches for this driver to Insop Song +and Greg Kroah-Hartman . And please CC linux-usb + too. diff --git a/drivers/staging/gs_fpgaboot/gs_fpgaboot.c b/drivers/staging/gs_fpgaboot/gs_fpgaboot.c index 95952c4..b147585 100644 --- a/drivers/staging/gs_fpgaboot/gs_fpgaboot.c +++ b/drivers/staging/gs_fpgaboot/gs_fpgaboot.c @@ -7,7 +7,6 @@ * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * * GNU General Public License for more details. * * You should have received
[PATCH v3 2/2] staging: fpgaboot: Driver for downloading Xilinx FPGA image
Review feedback, add TODO, remove EXPORT_SYMBOL, update README fie format Signed-off-by: Insop Song --- drivers/staging/gs_fpgaboot/README| 50 +++-- drivers/staging/gs_fpgaboot/TODO | 14 drivers/staging/gs_fpgaboot/gs_fpgaboot.c |1 - drivers/staging/gs_fpgaboot/io.c | 17 +- 4 files changed, 33 insertions(+), 49 deletions(-) create mode 100644 drivers/staging/gs_fpgaboot/TODO diff --git a/drivers/staging/gs_fpgaboot/README b/drivers/staging/gs_fpgaboot/README index 0f301a0..834100b 100644 --- a/drivers/staging/gs_fpgaboot/README +++ b/drivers/staging/gs_fpgaboot/README @@ -1,8 +1,5 @@ == Linux Driver Source for Xilinx FPGA image download - -* Gainspeed, Inc. -* Insop Song == @@ -14,47 +11,36 @@ TABLE OF CONTENTS. 4. HOW TO USE 5. REFERENCE --- 1. SUMMARY --- - * Download Xilinx FPGA image - * This module downloads Xilinx FPGA image using gpio pins. + - Download Xilinx FPGA image + - This module downloads Xilinx FPGA image using gpio pins. --- 2. BACKGROUND --- - -An FPGA (Field Programmable Gate Array) is a programmable hardware that is -used in various applications. Hardware design needs to programmed through -a dedicated device or CPU assisted way (serial or parallel). - -This driver provides a way to download FPGA image. + An FPGA (Field Programmable Gate Array) is a programmable hardware that is + used in various applications. Hardware design needs to programmed through + a dedicated device or CPU assisted way (serial or parallel). + This driver provides a way to download FPGA image. - --- 3. DESIGN --- -* load Xilinx FPGA bitstream format[1] image using kernel firmware framework, -request_firmware() -* program the Xilinx FPGA using SelectMAP (parallel) mode [2] -* FPGA prgram is done by gpio based bit-banging, as an example -* platform independent file: gs_fpgaboot.c -* platform dependent file: io.c + + - load Xilinx FPGA bitstream format[1] image using kernel firmware + framework, request_firmware() + - program the Xilinx FPGA using SelectMAP (parallel) mode [2] + - FPGA prgram is done by gpio based bit-banging, as an example + - platform independent file: gs_fpgaboot.c + - platform dependent file: io.c --- 4. HOW TO USE --- + $ insmod gs_fpga.ko file="xlinx_fpga_top_bitstream.bit" $ rmmod gs_fpga --- 5. REFERENCE --- -1. Xilinx APP NOTE XAPP583: -http://www.xilinx.com/support/documentation/application_notes/xapp583-fpga-configuration.pdf -2. bitstream file info: -http://home.earthlink.net/~davesullins/software/bitinfo.html + 1. Xilinx APP NOTE XAPP583: + http://www.xilinx.com/support/documentation/application_notes/xapp583-fpga-configuration.pdf + 2. bitstream file info: + http://home.earthlink.net/~davesullins/software/bitinfo.html diff --git a/drivers/staging/gs_fpgaboot/TODO b/drivers/staging/gs_fpgaboot/TODO new file mode 100644 index 000..1e4299b --- /dev/null +++ b/drivers/staging/gs_fpgaboot/TODO @@ -0,0 +1,14 @@ +TODO: +- get bus width input instead of hardcoded bus width + + - make it easier to config different programming method for + other embedded targets, such as, different combination of gpio + or serial programming + +DONE: + - run checkpatch + - build tested + +Please send any patches for this driver to Insop Song +and Greg Kroah-Hartman . And please CC linux-usb + too. diff --git a/drivers/staging/gs_fpgaboot/gs_fpgaboot.c b/drivers/staging/gs_fpgaboot/gs_fpgaboot.c index 95952c4..b147585 100644 --- a/drivers/staging/gs_fpgaboot/gs_fpgaboot.c +++ b/drivers/staging/gs_fpgaboot/gs_fpgaboot.c @@ -7,7 +7,6 @@ * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * * GNU General Public License for more details. * * You should have received
[PATCH v3 0/2] staging: fpgaboot: Driver for downloading Xilinx FPGA image
(please ignore v2, v3 updates minor typos) Update based on Greg's feedback Driver for downloading Xilinx FPGA image V2 - Add TODO - remove EXPORT_SYMBOL - update README fie format Insop Song (2): stagin: fpgaboot: Driver for downloading Xilinx FPGA image stagin: fpgaboot: Driver for downloading Xilinx FPGA image drivers/staging/Kconfig |2 + drivers/staging/Makefile |1 + drivers/staging/gs_fpgaboot/Kconfig |8 + drivers/staging/gs_fpgaboot/Makefile |4 + drivers/staging/gs_fpgaboot/README| 46 +++ drivers/staging/gs_fpgaboot/TODO | 14 + drivers/staging/gs_fpgaboot/gs_fpgaboot.c | 504 + drivers/staging/gs_fpgaboot/gs_fpgaboot.h | 56 drivers/staging/gs_fpgaboot/io.c | 316 ++ drivers/staging/gs_fpgaboot/io.h | 90 ++ 10 files changed, 1041 insertions(+) create mode 100644 drivers/staging/gs_fpgaboot/Kconfig create mode 100644 drivers/staging/gs_fpgaboot/Makefile create mode 100644 drivers/staging/gs_fpgaboot/README create mode 100644 drivers/staging/gs_fpgaboot/TODO create mode 100644 drivers/staging/gs_fpgaboot/gs_fpgaboot.c create mode 100644 drivers/staging/gs_fpgaboot/gs_fpgaboot.h create mode 100644 drivers/staging/gs_fpgaboot/io.c create mode 100644 drivers/staging/gs_fpgaboot/io.h -- 1.7.9.5 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v3 1/2] staging: fpgaboot: Driver for downloading Xilinx FPGA image
This module downloads Xilinx FPGA image using gpio pins. It loads Xilinx FPGA bitstream format image and program the Xilinx FPGA using SelectMAP (parallel) mode. Signed-off-by: Insop Song --- drivers/staging/Kconfig |2 + drivers/staging/Makefile |1 + drivers/staging/gs_fpgaboot/Kconfig |8 + drivers/staging/gs_fpgaboot/Makefile |4 + drivers/staging/gs_fpgaboot/README| 60 drivers/staging/gs_fpgaboot/gs_fpgaboot.c | 505 + drivers/staging/gs_fpgaboot/gs_fpgaboot.h | 56 drivers/staging/gs_fpgaboot/io.c | 331 +++ drivers/staging/gs_fpgaboot/io.h | 90 + 9 files changed, 1057 insertions(+) create mode 100644 drivers/staging/gs_fpgaboot/Kconfig create mode 100644 drivers/staging/gs_fpgaboot/Makefile create mode 100644 drivers/staging/gs_fpgaboot/README create mode 100644 drivers/staging/gs_fpgaboot/gs_fpgaboot.c create mode 100644 drivers/staging/gs_fpgaboot/gs_fpgaboot.h create mode 100644 drivers/staging/gs_fpgaboot/io.c create mode 100644 drivers/staging/gs_fpgaboot/io.h diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig index d2beb07..c5c1c9c 100644 --- a/drivers/staging/Kconfig +++ b/drivers/staging/Kconfig @@ -150,4 +150,6 @@ source "drivers/staging/dgnc/Kconfig" source "drivers/staging/dgap/Kconfig" +source "drivers/staging/gs_fpgaboot/Kconfig" + endif # STAGING diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile index bf62386..9359019 100644 --- a/drivers/staging/Makefile +++ b/drivers/staging/Makefile @@ -67,3 +67,4 @@ obj-$(CONFIG_XILLYBUS)+= xillybus/ obj-$(CONFIG_DGNC) += dgnc/ obj-$(CONFIG_DGAP) += dgap/ obj-$(CONFIG_MTD_SPINAND_MT29F)+= mt29f_spinand/ +obj-$(CONFIG_GS_FPGABOOT) += gs_fpgaboot/ diff --git a/drivers/staging/gs_fpgaboot/Kconfig b/drivers/staging/gs_fpgaboot/Kconfig new file mode 100644 index 000..4fbbae1 --- /dev/null +++ b/drivers/staging/gs_fpgaboot/Kconfig @@ -0,0 +1,8 @@ +# +# "xilinx fpga download, fpgaboot" +# +config GS_FPGABOOT + tristate "Xilinx FPGA bitstream image download" + default n + help + Xilinx FPGA program image download diff --git a/drivers/staging/gs_fpgaboot/Makefile b/drivers/staging/gs_fpgaboot/Makefile new file mode 100644 index 000..34cb606 --- /dev/null +++ b/drivers/staging/gs_fpgaboot/Makefile @@ -0,0 +1,4 @@ +gs_fpga-y += gs_fpgaboot.o io.o +obj-$(CONFIG_GS_FPGABOOT) += gs_fpga.o + +ccflags-$(CONFIG_GS_FPGA_DEBUG):= -DDEBUG diff --git a/drivers/staging/gs_fpgaboot/README b/drivers/staging/gs_fpgaboot/README new file mode 100644 index 000..0f301a0 --- /dev/null +++ b/drivers/staging/gs_fpgaboot/README @@ -0,0 +1,60 @@ +== +Linux Driver Source for Xilinx FPGA image download + +* Gainspeed, Inc. +* Insop Song +== + + +TABLE OF CONTENTS. + +1. SUMMARY +2. BACKGROUND +3. DESIGN +4. HOW TO USE +5. REFERENCE + +-- +1. SUMMARY +-- + + * Download Xilinx FPGA image + * This module downloads Xilinx FPGA image using gpio pins. + +-- +2. BACKGROUND +-- + +An FPGA (Field Programmable Gate Array) is a programmable hardware that is +used in various applications. Hardware design needs to programmed through +a dedicated device or CPU assisted way (serial or parallel). + +This driver provides a way to download FPGA image. + + + +-- +3. DESIGN +-- +* load Xilinx FPGA bitstream format[1] image using kernel firmware framework, +request_firmware() +* program the Xilinx FPGA using SelectMAP (parallel) mode [2] +* FPGA prgram is done by gpio based bit-banging, as an example +* platform independent file: gs_fpgaboot.c +* platform dependent file: io.c + + +-- +4. HOW TO USE +-- + $ insmod gs_fpga.ko file="xlinx_fpga_top_bitstream.bit" + $ rmmod gs_fpga + +-- +5. REFERENCE +-- + +1. Xilinx APP NOTE XAPP583: +http://www.xilinx.com/support/documentation/application_notes/xapp583-fpga-configuration.pdf +2. bitstream file info: +
[PATCH 1/1] staging: dgap: Fix build error
Include the header file for kzalloc to fix the following build error: drivers/staging/dgap/dgap_fep5.c: In function ‘dgap_do_config_load’: drivers/staging/dgap/dgap_fep5.c:78:2: error: implicit declaration of function ‘kzalloc’ [-Werror=implicit-function-declaration] Signed-off-by: Sachin Kamat Cc: Lidza Louina --- drivers/staging/dgap/dgap_fep5.c |1 + 1 file changed, 1 insertion(+) diff --git a/drivers/staging/dgap/dgap_fep5.c b/drivers/staging/dgap/dgap_fep5.c index 15f9a8512313..af37d7a3b4e1 100644 --- a/drivers/staging/dgap/dgap_fep5.c +++ b/drivers/staging/dgap/dgap_fep5.c @@ -37,6 +37,7 @@ #include #include/* For udelay */ #include/* For copy_from_user/copy_to_user */ +#include #include #include /* For tty_schedule_flip */ -- 1.7.9.5 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
RE: [PATCH 2/2] Drivers: hv: balloon: Online the hot-added memory "in context" Re: [PATCH 1/1] Drivers: hv: Implement the file copy service
Hi! Is there no way we could implement file copying in user space? For "file copy service" "user space" may be pretty good But I ( and other Hyper-V sysadmin) see non-Ok ( in "political correct" terminalogy) results with "hv: balloon: Online the hot-added memory" in "user space" Best regards, Victor Miasnikov Blog: http://vvm.blog.tut.by/ P.S. == [PATCH 2/2] Drivers: hv: balloon: Online the hot-added memory "in context" == What news? Roadmap? ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 0/3] Staging: rtl8187se: Sparse fixes
From: Anmol Sarma Fix sparse warnings for undeclared symbols not marked static. Anmol Sarma (3): Staging: rtl8187se: r8180_core.c: mark symbols as static Staging: rtl8187se: r8180_wx.c: mark symbols as static Staging: rtl8187se: ieee80211: ieee80211_softmac.c: mark symbols as static .../rtl8187se/ieee80211/ieee80211_softmac.c| 74 +++--- drivers/staging/rtl8187se/r8180_core.c | 14 ++-- drivers/staging/rtl8187se/r8180_wx.c | 2 +- 3 files changed, 45 insertions(+), 45 deletions(-) -- 1.8.3.2 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/1] Drivers: hv: Implement the file copy service
On Wed, Jan 08, K. Y. Srinivasan wrote: > +++ b/tools/hv/hv_fcopy_daemon.c > + len = pread(fcopy_fd, buffer, (4096 * 2), 0); > + > + if (len <= 0) { > + syslog(LOG_ERR, "Read error: %s\n", strerror(errno)); > + continue; This could flood syslog. I think the error should be logged just once. Maybe like this: if (len <=0) { if (!error) { syslog(...); error = HV_ERROR_NOT_SUPPORTED; } continue; } > + } > + in_msg = (struct hv_fcopy_hdr *)buffer; > + > + switch (in_msg->operation) { > + case START_FILE_COPY: > + error = hv_start_fcopy((struct hv_start_fcopy *)in_msg); Olaf ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 1/3] Staging: rtl8187se: r8180_core.c: mark symbols as static
From: Anmol Sarma Fixes the following sparse warnings: 390:6: warning: symbol 'buffer_free' was not declared. Should it be static? 1031:5: warning: symbol 'ComputeTxTime' was not declared. Should it be static? 2345:7: warning: symbol 'rtl8180_init' was not declared. Should it be static? 2835:6: warning: symbol 'MgntActSet_802_11_PowerSaveMode' was not declared. Should it be static? 2847:6: warning: symbol 'LeisurePSEnter' was not declared. Should it be static? 2856:6: warning: symbol 'LeisurePSLeave' was not declared. Should it be static? 3529:13: warning: symbol 'rtl8180_interrupt' was not declared. Should it be static? Signed-off-by: Anmol Sarma --- drivers/staging/rtl8187se/r8180_core.c | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/staging/rtl8187se/r8180_core.c b/drivers/staging/rtl8187se/r8180_core.c index 297136b..45a60c0 100644 --- a/drivers/staging/rtl8187se/r8180_core.c +++ b/drivers/staging/rtl8187se/r8180_core.c @@ -387,7 +387,7 @@ static short buffer_add(struct buffer **buffer, u32 *buf, dma_addr_t dma, return 0; } -void buffer_free(struct net_device *dev, struct buffer **buffer, int len, +static void buffer_free(struct net_device *dev, struct buffer **buffer, int len, short consistent) { @@ -1028,7 +1028,7 @@ inline u8 rtl8180_IsWirelessBMode(u16 rate) u16 N_DBPSOfRate(u16 DataRate); -u16 ComputeTxTime(u16 FrameLength, u16 DataRate, u8 bManagementFrame, +static u16 ComputeTxTime(u16 FrameLength, u16 DataRate, u8 bManagementFrame, u8 bShortPreamble) { u16 FrameTime; @@ -2342,7 +2342,7 @@ static void rtl8187se_eeprom_register_write(struct eeprom_93cx6 *eeprom) udelay(10); } -short rtl8180_init(struct net_device *dev) +static short rtl8180_init(struct net_device *dev) { struct r8180_priv *priv = ieee80211_priv(dev); u16 word; @@ -2832,7 +2832,7 @@ static struct net_device_stats *rtl8180_stats(struct net_device *dev) /* * Change current and default preamble mode. */ -bool MgntActSet_802_11_PowerSaveMode(struct r8180_priv *priv, +static bool MgntActSet_802_11_PowerSaveMode(struct r8180_priv *priv, RT_PS_MODE rtPsMode) { /* Currently, we do not change power save mode on IBSS mode. */ @@ -2844,7 +2844,7 @@ bool MgntActSet_802_11_PowerSaveMode(struct r8180_priv *priv, return true; } -void LeisurePSEnter(struct r8180_priv *priv) +static void LeisurePSEnter(struct r8180_priv *priv) { if (priv->bLeisurePs) { if (priv->ieee80211->ps == IEEE80211_PS_DISABLED) @@ -2853,7 +2853,7 @@ void LeisurePSEnter(struct r8180_priv *priv) } } -void LeisurePSLeave(struct r8180_priv *priv) +static void LeisurePSLeave(struct r8180_priv *priv) { if (priv->bLeisurePs) { if (priv->ieee80211->ps != IEEE80211_PS_DISABLED) @@ -3526,7 +3526,7 @@ static void rtl8180_tx_isr(struct net_device *dev, int pri, short error) spin_unlock_irqrestore(&priv->tx_lock, flag); } -irqreturn_t rtl8180_interrupt(int irq, void *netdev) +static irqreturn_t rtl8180_interrupt(int irq, void *netdev) { struct net_device *dev = (struct net_device *) netdev; struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); -- 1.8.3.2 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 3/3] Staging: rtl8187se: ieee80211: ieee80211_softmac.c: mark symbols as static
From: Anmol Sarma Fixes the following sparse warnings: 50:14: warning: symbol 'ieee80211_MFIE_rate_len' was not declared. Should it be static? 68:6: warning: symbol 'ieee80211_MFIE_Brate' was not declared. Should it be static? 85:6: warning: symbol 'ieee80211_MFIE_Grate' was not declared. Should it be static? 109:6: warning: symbol 'ieee80211_WMM_Info' was not declared. Should it be static? 132:6: warning: symbol 'ieee80211_TURBO_Info' was not declared. Should it be static? 148:6: warning: symbol 'enqueue_mgmt' was not declared. Should it be static? 166:16: warning: symbol 'dequeue_mgmt' was not declared. Should it be static? 181:6: warning: symbol 'init_mgmt_queue' was not declared. Should it be static? 377:6: warning: symbol 'ieee80211_send_beacon' was not declared. Should it be static? 402:6: warning: symbol 'ieee80211_send_beacon_cb' was not declared. Should it be static? 413:6: warning: symbol 'ieee80211_send_probe' was not declared. Should it be static? 425:6: warning: symbol 'ieee80211_send_probe_requests' was not declared. Should it be static? 436:6: warning: symbol 'ieee80211_softmac_scan_syncro' was not declared. Should it be static? 574:6: warning: symbol 'ieee80211_softmac_scan_wq' was not declared. Should it be static? 617:6: warning: symbol 'ieee80211_beacons_start' was not declared. Should it be static? 629:6: warning: symbol 'ieee80211_beacons_stop' was not declared. Should it be static? 661:6: warning: symbol 'ieee80211_softmac_stop_scan' was not declared. Should it be static? 969:16: warning: symbol 'ieee80211_null_func' was not declared. Should it be static? 995:6: warning: symbol 'ieee80211_resp_to_assoc_rq' was not declared. Should it be static? 1006:6: warning: symbol 'ieee80211_resp_to_auth' was not declared. Should it be static? 1017:6: warning: symbol 'ieee80211_resp_to_probe' was not declared. Should it be static? 1166:6: warning: symbol 'ieee80211_associate_abort_cb' was not declared. Should it be static? 1172:6: warning: symbol 'ieee80211_associate_step1' was not declared. Should it be static? 1202:6: warning: symbol 'ieee80211_rtl_auth_challenge' was not declared. Should it be static? 1237:6: warning: symbol 'ieee80211_associate_step2' was not declared. Should it be static? 1259:6: warning: symbol 'ieee80211_associate_complete_wq' was not declared. Should it be static? 1280:6: warning: symbol 'ieee80211_associate_complete' was not declared. Should it be static? 1294:6: warning: symbol 'ieee80211_associate_procedure_wq' was not declared. Should it be static? 1453:5: warning: symbol 'auth_rq_parse' was not declared. Should it be static? 1510:5: warning: symbol 'assoc_rq_parse' was not declared. Should it be static? 1600:7: warning: symbol 'ieee80211_sta_ps_sleep' was not declared. Should it be static? 2020:6: warning: symbol 'ieee80211_resume_tx' was not declared. Should it be static? 2150:6: warning: symbol 'ieee80211_start_monitor_mode' was not declared. Should it be static? 2161:6: warning: symbol 'ieee80211_start_ibss_wq' was not declared. Should it be static? 2334:6: warning: symbol 'ieee80211_associate_retry_wq' was not declared. Should it be static? 2626:6: warning: symbol 'ieee80211_wpa_assoc_frame' was not declared. Should it be static? 1654:13: warning: symbol 'ieee80211_sta_ps' was not declared. Should it be static? Signed-off-by: Anmol Sarma --- .../rtl8187se/ieee80211/ieee80211_softmac.c| 74 +++--- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c index 3af1bf9..c27392d 100644 --- a/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c +++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c @@ -47,7 +47,7 @@ short ieee80211_is_shortslot(const struct ieee80211_network *net) * tag and the EXTENDED RATE MFIE tag if needed. * It encludes two bytes per tag for the tag itself and its len */ -unsigned int ieee80211_MFIE_rate_len(struct ieee80211_device *ieee) +static unsigned int ieee80211_MFIE_rate_len(struct ieee80211_device *ieee) { unsigned int rate_len = 0; @@ -65,7 +65,7 @@ unsigned int ieee80211_MFIE_rate_len(struct ieee80211_device *ieee) * Then it updates the pointer so that * it points after the new MFIE tag added. */ -void ieee80211_MFIE_Brate(struct ieee80211_device *ieee, u8 **tag_p) +static void ieee80211_MFIE_Brate(struct ieee80211_device *ieee, u8 **tag_p) { u8 *tag = *tag_p; @@ -82,7 +82,7 @@ void ieee80211_MFIE_Brate(struct ieee80211_device *ieee, u8 **tag_p) *tag_p = tag; } -void ieee80211_MFIE_Grate(struct ieee80211_device *ieee, u8 **tag_p) +static void ieee80211_MFIE_Grate(struct ieee80211_device *ieee, u8 **tag_p) { u8 *tag = *tag_p; @@ -106,7 +106,7 @@ void ieee80211_MFIE_Grate(struct ieee80211_device *ieee, u8 **tag_p) } -void ieee80211_WMM_Info(struct ieee80211_device *ieee, u8 **tag_p) +static void ieee80211_WMM_Info(st
Re: [PATCH RFC 00/46] Preview of imx-drm cleanup series
On Tue, Jan 07, 2014 at 02:33:22PM +0800, Shawn Guo wrote: > On Thu, Jan 02, 2014 at 09:25:28PM +, Russell King - ARM Linux wrote: > > Here is my large patch series which cleans up imx-drm, and gets it ready > > to move out of drivers/staging. This is a preview only. > > When moving to non-RFC patches, you may want to run checkpatch.pl on the > patches. There are some errors and warnings than just "line over 80 > characters" one. I'm going to fix some of them, but I'm not fixing all of them. The reason is that some of these should have been done to the code already, and I'm not going to mess up my patches integrating coding style fixes amongst moving code around. The warnings about "over 80 characters" are fine for new code but not when code is merely being moved - there it's far more important not to reformat code. The errors you refer to are: (a) in Fabio's patch adding imx-hdmi support, a derivative of which has already been accepted into the staging tree. (b) in ipuv3-crtc.c, where checkpatch detects the presence of the FSF address in the context of my patch. So, these are not my problem to fix, and I will *not* fix these "errors" in this series. -- FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up. Estimation in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad. Estimate before purchase was "up to 13.2Mbit". ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCHv6] staging/iio/adc: change the MXS touchscreen driver implementation
Hi, Sorry to chime in only now but it seems that this series is breaking the touchscreen calibration on 3.13 (and -rc7 is out so it might be too late). At first, I though I became a terrible clicker ;) but I found some evidences: xinput_calibrator is complaining about misclicks, debug output: DEBUG: Adding click 0 (X=105, Y=59) DEBUG: Not adding click 1 (X=100, Y=59): within 7 pixels of previous click DEBUG: Adding click 1 (X=696, Y=58) DEBUG: Not adding click 2 (X=700, Y=55): within 7 pixels of previous click DEBUG: Adding click 2 (X=103, Y=422) DEBUG: Mis-click detected, click 3 (X=438, Y=415) not aligned with click 1 (X=696, Y=58) or click 2 (X=103, Y=422) (threshold=15) DEBUG: Adding click 0 (X=424, Y=411) Do you see the confusion ? At some point one of the coordinates is not updated. Successful calibration with 3.12.6 gives: DEBUG: Adding click 0 (X=126, Y=405) DEBUG: Adding click 1 (X=684, Y=399) DEBUG: Adding click 2 (X=128, Y=77) DEBUG: Adding click 3 (X=683, Y=77) With ts_calibrate: xres = 800, yres = 480 Took 1 samples... Top left : X = 435 Y = 3572 Took 2 samples... Top right : X = 2094 Y = 3553 Took 2 samples... Bot right : X = 2939 Y = 2077 Took 2 samples... Bot left : X = 2060 Y = 644 Took 2 samples... Center : X = 1279 Y = 1346 We experience the same thing, when changing position on an axis, we get an average between the previous and the new position (probably because we got 2 samples): - Top Left is ok - Top right is almost ok: X should be around 3500/3700 - Bot right is starting to get really wrong: X is getting better (it should still be around 3500/3700) but Y should be quite lower - Bot left: Y is ok but X should be lower - Center is completely wrong, both values should be around 2000 Last test with evtest which is always difficult because it outputs a lot of debug. Two separate touchs, bottom left and then top right (note that this is with fsl,ave-ctrl = <8>;): Event: time 1389210862.451000, type 3 (Absolute), code 0 (X), value 2183 Event: time 1389210862.451000, type 3 (Absolute), code 1 (Y), value 720 Event: time 1389210862.451000, type 3 (Absolute), code 24 (Pressure), value 6 Event: time 1389210862.451000, type 1 (Key), code 330 (Touch), value 1 Event: time 1389210862.451000, -- Report Sync Event: time 1389210862.477721, type 3 (Absolute), code 0 (X), value 448 Event: time 1389210862.477721, type 3 (Absolute), code 1 (Y), value 667 Event: time 1389210862.477721, type 3 (Absolute), code 24 (Pressure), value 595 Event: time 1389210862.477721, -- Report Sync Event: time 1389210862.504718, type 3 (Absolute), code 0 (X), value 434 Event: time 1389210862.504718, type 3 (Absolute), code 1 (Y), value 704 Event: time 1389210862.504718, type 3 (Absolute), code 24 (Pressure), value 580 Event: time 1389210862.504718, -- Report Sync Event: time 1389210862.536688, type 1 (Key), code 330 (Touch), value 0 Event: time 1389210862.536688, -- Report Sync Event: time 1389210863.359697, type 3 (Absolute), code 0 (X), value 432 Event: time 1389210863.359697, type 3 (Absolute), code 1 (Y), value 726 Event: time 1389210863.359697, type 3 (Absolute), code 24 (Pressure), value 210 Event: time 1389210863.359697, type 1 (Key), code 330 (Touch), value 1 Event: time 1389210863.359697, -- Report Sync Event: time 1389210863.391687, type 1 (Key), code 330 (Touch), value 0 Event: time 1389210863.391687, -- Report Sync We get 3 reports for bottom left, then pen up, then one report for top right that is almost exactly the same a bottom left ! Output from 3.12: Event: time 1389210022.146809, type 3 (Absolute), code 0 (X), value 286 Event: time 1389210022.146809, type 3 (Absolute), code 1 (Y), value 504 Event: time 1389210022.146809, type 3 (Absolute), code 24 (Pressure), value 3045 Event: time 1389210022.146809, type 1 (Key), code 330 (Touch), value 1 Event: time 1389210022.146809, -- Report Sync Event: time 1389210022.166830, type 3 (Absolute), code 0 (X), value 256 Event: time 1389210022.166830, type 3 (Absolute), code 1 (Y), value 489 Event: time 1389210022.166830, type 3 (Absolute), code 24 (Pressure), value 3033 Event: time 1389210022.166830, -- Report Sync Event: time 1389210022.186812, type 3 (Absolute), code 24 (Pressure), value 0 Event: time 1389210022.186812, type 1 (Key), code 330 (Touch), value 0 Event: time 1389210022.186812, -- Report Sync Event: time 1389210025.196808, type 3 (Absolute), code 0 (X), value 3812 Event: time 1389210025.196808, type 3 (Absolute), code 1 (Y), value 3637 Event: time 1389210025.196808, type 3 (Absolute), code 24 (Pressure), value 4032 Event: time 1389210025.196808, type 1 (Key), code 330 (Touch), value 1 Event: time 1389210025.196808, -- Report Sync Event: time 1389210025.216819, type 3 (Absolute), code 24 (Pre
[PATCH 2/3] Staging: rtl8187se: r8180_wx.c: mark symbols as static
From: Anmol Sarma Fixes the following sparse warning: 27:5: warning: symbol 'rtl8180_rates' was not declared. Should it be static? Signed-off-by: Anmol Sarma --- drivers/staging/rtl8187se/r8180_wx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/rtl8187se/r8180_wx.c b/drivers/staging/rtl8187se/r8180_wx.c index bae6875..85099bb 100644 --- a/drivers/staging/rtl8187se/r8180_wx.c +++ b/drivers/staging/rtl8187se/r8180_wx.c @@ -24,7 +24,7 @@ #include #include "ieee80211/dot11d.h" -u32 rtl8180_rates[] = {100, 200, 550, 1100, +static u32 rtl8180_rates[] = {100, 200, 550, 1100, 600, 900, 1200, 1800, 2400, 3600, 4800, 5400}; #define RATE_COUNT ARRAY_SIZE(rtl8180_rates) -- 1.8.3.2 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/1] staging: Driver for downloading Xilinx FPGA image
On Thu, Jan 09, 2014 at 12:21:06AM -0800, Insop Song wrote: > On Wed, Jan 8, 2014 at 10:16 PM, Greg KH wrote: > > Why is this driver going into the staging directory? We need a TODO > > file listing the issues that need to be taken care of in order to be > > able to move this out of the staging tree, can you please add that to > > your next version? > > > > Embedded systems with FPGA requires FPGA programming after the system is > booted. > I've written this driver to program FPGA after linux is booted. That explains the driver, it doesn't explain why you are adding it to the drivers/staging/ directory at this point in time. Why are you wanting it to live in this location, and not in the "real" part of the kernel tree? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 3/3] Staging: rtl8187se: ieee80211: ieee80211_softmac.c: mark symbols as static
On Thu, Jan 09, 2014 at 04:41:07PM +0530, m...@anmolsarma.in wrote: > From: Anmol Sarma > > Fixes the following sparse warnings: > 50:14: warning: symbol 'ieee80211_MFIE_rate_len' was not declared. Should it > be > static? > 68:6: warning: symbol 'ieee80211_MFIE_Brate' was not declared. Should it be > static? Please don't line-wrap error messages like this, it makes it quite messy, don't you think? ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v2 2/2] stagin: fpgaboot: Driver for downloading Xilinx FPGA image
On Thu, Jan 09, 2014 at 12:55:47AM -0800, Insop Song wrote: > Review feedback, add TODO, remove EXPORT_SYMBOL, update README fie format > > Signed-off-by: Insop Song Please merge this with the previous patch, as then we only need one, right? Also, your Subject: line is missing a 'g' :) greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 3/3] Staging: rtl8187se: ieee80211: ieee80211_softmac.c: mark symbols as static
On Thu, Jan 09, 2014 at 04:41:07PM +0530, m...@anmolsarma.in wrote: > From: Anmol Sarma Fix your email so this is in the email headers themselves. > > Fixes the following sparse warnings: > 50:14: warning: symbol 'ieee80211_MFIE_rate_len' was not declared. Should it > be > static? > 68:6: warning: symbol 'ieee80211_MFIE_Brate' was not declared. Should it be > static? We don't need so many of these warnings just one or two is enough, we get the idea. regards, dan carpenter ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v3 2/2] staging: fpgaboot: Driver for downloading Xilinx FPGA image
On Thu, Jan 09, 2014 at 01:36:15AM -0800, Insop Song wrote: > --- /dev/null > +++ b/drivers/staging/gs_fpgaboot/TODO > @@ -0,0 +1,14 @@ > +TODO: > +- get bus width input instead of hardcoded bus width > + > + - make it easier to config different programming method for > + other embedded targets, such as, different combination of gpio > + or serial programming Odd formatting. And why is this last one a requirement to get this out of the staging directory? > +DONE: > + - run checkpatch > + - build tested No need to have this. > + > +Please send any patches for this driver to Insop Song That's not the email address you sent this patch from. > +and Greg Kroah-Hartman . And please CC linux-usb > + too. What does the linux-usb mailing list have to do with this driver? > /* G100 specific bit swap and remmap (to gpio pins) for byte 0 */ > @@ -225,7 +217,7 @@ static inline void byte1_out(unsigned char data) > /* > * TODO: > * - configurable per device type for different I/O config > - * so that this can be easily extended to G200 and more > + * so that this can be easily extended other target devices Don't add incorrect lines if at all possible, others will just have to go back and fix them up later. Oh, and please merge with the first patch, as asked for before. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/1] staging: dgap: Fix build error
On Thu, Jan 09, 2014 at 03:13:10PM +0530, Sachin Kamat wrote: > Include the header file for kzalloc to fix the following build error: > drivers/staging/dgap/dgap_fep5.c: In function ‘dgap_do_config_load’: > drivers/staging/dgap/dgap_fep5.c:78:2: error: implicit declaration of function > ‘kzalloc’ [-Werror=implicit-function-declaration] Please don't line-wrap error messages. Also, what platform shows this error, I don't see it here on x86, and I have not gotten any build failure reports from the build system. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH RFC 27/46] imx-drm: convert to componentised device support
On Wed, Jan 08, 2014 at 09:32:58PM +, Russell King - ARM Linux wrote: > On Tue, Jan 07, 2014 at 04:59:35PM +0800, Shawn Guo wrote: > > On Thu, Jan 02, 2014 at 09:28:03PM +, Russell King wrote: > > > diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi > > > b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi > > > index e75e11b36dff..0e005f21d241 100644 > > > --- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi > > > +++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi > > > @@ -62,6 +62,12 @@ > > > }; > > > }; > > > > > > + imx-drm { > > > + compatible = "fsl,imx-drm"; > > > + crtcs = <&ipu1 0>, <&ipu1 1>; > > > + connectors = <&ldb>; > > > + }; > > > + > > > > While the change works fine on imx6dl, it breaks LVDS support on imx6q > > right away. > > > > imx-ipuv3 240.ipu: IPUv3H probed > > imx-ipuv3 280.ipu: IPUv3H probed > > [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). > > [drm] No driver support for vblank timestamp query. > > imx-drm imx-drm.16: bound imx-ipuv3-crtc.0 (ops ipu_crtc_ops) > > imx-drm imx-drm.16: bound imx-ipuv3-crtc.1 (ops ipu_crtc_ops) > > imx-drm imx-drm.16: failed to bind ldb.10 (ops imx_ldb_ops): -517 > > > > Because we have 4 crtcs for lvds-channel on imx6q while imx-drm master > > defines only 2 in there, the imx_drm_encoder_parse_of() call from > > imx_ldb_register() will always return -EPROBE_DEFER. > > > > lvds-channel@0 { > > crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>; > > }; > > > > lvds-channel@1 { > > crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>; > > }; > > This is why some help would be useful here - I think I got these right > but I've no way to check them. > > Can you confirm that adding all four is the right thing not only for > the imx6q but also the imx6dl sabresd please? Yea, adding all four into imx-drm crtcs works for imx6q, but it doesn't for imx6dl, because &ipu2 is unavailable for imx6dl at all. Here is how I get around it. ---8<--- diff --git a/arch/arm/boot/dts/imx6q-sabresd.dts b/arch/arm/boot/dts/imx6q-sabresd.dts index 9cbdfe7..66f220a 100644 --- a/arch/arm/boot/dts/imx6q-sabresd.dts +++ b/arch/arm/boot/dts/imx6q-sabresd.dts @@ -20,6 +20,10 @@ compatible = "fsl,imx6q-sabresd", "fsl,imx6q"; }; +&imx_drm { + crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>; +}; + &sata { status = "okay"; }; diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi index 0e005f2..dfca3e0 100644 --- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi +++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi @@ -62,7 +62,7 @@ }; }; - imx-drm { + imx_drm: imx-drm { compatible = "fsl,imx-drm"; crtcs = <&ipu1 0>, <&ipu1 1>; connectors = <&ldb>; ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH RFC 27/46] imx-drm: convert to componentised device support
On Thu, Jan 09, 2014 at 11:25:38PM +0800, Shawn Guo wrote: > Yea, adding all four into imx-drm crtcs works for imx6q, but it doesn't > for imx6dl, because &ipu2 is unavailable for imx6dl at all. > > Here is how I get around it. Thanks, I've rolled your change into this commit now. -- FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up. Estimation in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad. Estimate before purchase was "up to 13.2Mbit". ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: usbip: userspace: add support for viewing imported devices
On Tue, Jan 07, 2014 at 09:05:56PM +0200, Valentina Manea wrote: > As of Matt Mooney's major refactoring in 2011, usbip port > option was left out. Add support for this option in > a manner similar to the old implementation. > > Sample output: > > Imported USB devices > > Port 00: at Full Speed(12Mbps) >unknown vendor : unknown product (1687:6211) >2-1 -> usbip://192.168.122.152:3240/1-1 >-> remote bus/dev 001/002 > > Signed-off-by: Valentina Manea > Reviewed-by: Ilija Hadzic This is a resend of v3, right? Please be more specific when sending multiple versions of a patch so that I know which one I should take. > Resubmitting this patch as I still didn't get any reply from Greg > after 2 weeks. Greg was on vacation for 2 weeks :) thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
RE: [PATCH 1/1] Drivers: hv: Implement the file copy service
> -Original Message- > From: Olaf Hering [mailto:o...@aepfle.de] > Sent: Thursday, January 09, 2014 4:04 AM > To: KY Srinivasan > Cc: gre...@linuxfoundation.org; linux-ker...@vger.kernel.org; > de...@linuxdriverproject.org; a...@canonical.com; jasow...@redhat.com > Subject: Re: [PATCH 1/1] Drivers: hv: Implement the file copy service > > On Wed, Jan 08, K. Y. Srinivasan wrote: > > > +++ b/tools/hv/hv_fcopy_daemon.c > > > + len = pread(fcopy_fd, buffer, (4096 * 2), 0); > > + > > + if (len <= 0) { > > + syslog(LOG_ERR, "Read error: %s\n", strerror(errno)); > > + continue; > > This could flood syslog. I think the error should be logged just once. > Maybe like this: > > if (len <=0) { > if (!error) { > syslog(...); > error = HV_ERROR_NOT_SUPPORTED; > } > continue; > } > > > + } > > + in_msg = (struct hv_fcopy_hdr *)buffer; > > + > > + switch (in_msg->operation) { > > + case START_FILE_COPY: > > + error = hv_start_fcopy((struct hv_start_fcopy *)in_msg); Will do. K. Y > > Olaf ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH]
On Tue, Dec 24, 2013 at 09:45:03AM -0600, Evan Hosseini wrote: > --- > Staging: android: fix parenthesis coding style issue in alarm-dev.c What happened to your Subject:? Also, why put the '---' line here? That means that git will delete everything else. > This is a patch to the alarm-dev.c file that fixes up a > parenthesis warning found by the checkpatch.pl tool. > Signed-off-by: Evan Hosseini Please put a blank line between the changelog info and the signed-off-by: line. > > --- > drivers/staging/android/alarm-dev.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/staging/android/alarm-dev.c > b/drivers/staging/android/alarm-dev.c > index 647694f..893362f 100644 > --- a/drivers/staging/android/alarm-dev.c > +++ b/drivers/staging/android/alarm-dev.c > @@ -68,7 +68,6 @@ static struct devalarm alarms[ANDROID_ALARM_TYPE_COUNT]; > */ > static int is_wakeup(enum android_alarm_type type) > { > - return (type == ANDROID_ALARM_RTC_WAKEUP || > - type == ANDROID_ALARM_ELAPSED_REALTIME_WAKEUP); > + return type == ANDROID_ALARM_RTC_WAKEUP || > + type == ANDROID_ALARM_ELAPSED_REALTIME_WAKEUP; This patch doesn't apply to the linux-next tree, as someone else has already made this change, sorry. greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: your mail
On Mon, Dec 30, 2013 at 05:40:44PM +, Joe Borg wrote: > >From 6d9f6446434c4021cc9452e31c374ac50e08f0f9 Mon Sep 17 00:00:00 2001 > From: Joe Borg This isn't matching your "from:" line on your email, why should I trust it? And doing kernel work as 'root'? That's not a good idea for lots of reasons... > Date: Mon, 30 Dec 2013 15:35:08 + > Subject: [PATCH 62/62] DAS1800: Fixing error from checkpatch. > > Fixed pointer typeo; foo * bar should be foo *bar. > > Signed-off by Joe Borg What happened to your Subject:? And why is the whole git header in the email, please use git send-email so that I don't have to hand-edit the body of the email to apply it. Can you please fix this up and resend? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] DAS1800: Fixed typeo.
On Thu, Jan 02, 2014 at 05:10:00PM +, Joe Borg wrote: > Fixed foo * bar should be foo *bar. > > Fixed by Joe Borg r...@josephb.org That's not a "signed-off-by:" line, did you run this patch through scripts/checkpatch.pl? Also, your subject line has a typo :) thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] DAS6042: Fixing typeo.
On Thu, Jan 02, 2014 at 05:25:20PM +, Joe Borg wrote: > Fixing foo * bar should be foo *bar. > > Fixed by Joe Borg r...@josephb.org Same comments as the last, I can't take this :( ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Staging: rts5139: Fixed style issues
On Mon, Jan 06, 2014 at 07:05:09AM -0700, Morgan Creekmore wrote: > Fixed style issues for lines over 80 chars > > Signed-off-by: Morgan Creekmore > --- > drivers/staging/rts5139/rts51x_card.c | 10 +- > drivers/staging/rts5139/rts51x_card.h | 8 > 2 files changed, 9 insertions(+), 9 deletions(-) > > diff --git a/drivers/staging/rts5139/rts51x_card.c > b/drivers/staging/rts5139/rts51x_card.c > index 509d83e..03456d9 100644 > --- a/drivers/staging/rts5139/rts51x_card.c > +++ b/drivers/staging/rts5139/rts51x_card.c > @@ -373,7 +373,7 @@ void rts51x_release_cards(struct rts51x_chip *chip) > > static inline u8 double_depth(u8 depth) > { > - return ((depth > 1) ? (depth - 1) : depth); > + return (depth > 1) ? (depth - 1) : depth; This fix isn't what you said you were doing in the above changelog description :( Please be correct in your changelogs. greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: your mail
Hi Greg, I'll re do them tonight. I didn't do the changes as root, I sent them from my server as it has SMTP out. Thanks Regards, Joseph David Borġ http://www.jdborg.com On 9 January 2014 18:39, Greg KH wrote: > On Mon, Dec 30, 2013 at 05:40:44PM +, Joe Borg wrote: >> >From 6d9f6446434c4021cc9452e31c374ac50e08f0f9 Mon Sep 17 00:00:00 2001 >> From: Joe Borg > > This isn't matching your "from:" line on your email, why should I trust > it? > > And doing kernel work as 'root'? That's not a good idea for lots of > reasons... > >> Date: Mon, 30 Dec 2013 15:35:08 + >> Subject: [PATCH 62/62] DAS1800: Fixing error from checkpatch. >> >> Fixed pointer typeo; foo * bar should be foo *bar. >> >> Signed-off by Joe Borg > > What happened to your Subject:? > > And why is the whole git header in the email, please use git send-email > so that I don't have to hand-edit the body of the email to apply it. > > Can you please fix this up and resend? > > thanks, > > greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v2] Staging: comedi: drivers:
On Mon, Jan 06, 2014 at 11:08:14PM -0500, Aruna-Hewapathirane wrote: > Fixed a coding style issue in ke_counter.c You forgot a valid Subject: line :( ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Staging: comedi: replace printk() calls with dev_dbg() in pcmmio.c
On Fri, Dec 27, 2013 at 06:07:21PM -0600, Chase Southwood wrote: > From: Chase Southwood > > Changed several printk() calls to dev_dbg() or dev_err() in pcmmio.c to fix > checkpatch.pl warnings. Patched from 3.13-rc5. Please line-wrap your changelog entries. Also, this is already fixed up in my tree, please always work against linux-next, what is in Linus's tree is pretty old for staging stuff. Care to redo this against linux-next and resend it? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/1] staging: Driver for downloading Xilinx FPGA image
On Thu, Jan 9, 2014 at 6:32 AM, Greg KH wrote: > On Thu, Jan 09, 2014 at 12:21:06AM -0800, Insop Song wrote: >> On Wed, Jan 8, 2014 at 10:16 PM, Greg KH wrote: >> > Why is this driver going into the staging directory? We need a TODO >> > file listing the issues that need to be taken care of in order to be >> > able to move this out of the staging tree, can you please add that to >> > your next version? >> > >> >> Embedded systems with FPGA requires FPGA programming after the system is >> booted. >> I've written this driver to program FPGA after linux is booted. > > That explains the driver, it doesn't explain why you are adding it to > the drivers/staging/ directory at this point in time. Why are you > wanting it to live in this location, and not in the "real" part of the > kernel tree? > Sorry, I misunderstood your question. I'd like to stage the driver first, so that more people can look at it and to get feedback before moving to the "real" part of the kernel tree. A similar example that I've referred was "drivers/staging/altera-stapl", which had been staged, then later moved to the final place "drivers/misc/altera-stapl" It does the same function as my module for the different company's FPGA. > thanks, > > greg k-h Thank you, ISS ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
status of sbe-2t3e3 staging driver?
Hi Krzysztof, It's been pointed out to me that there hasn't been any forward development on the sbe-2t3e3 in almost a year now. Is development dead, and I should delete it, or are you planning on doing more work on it soon so that it can be merged out of the staging tree? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
status of sm7xfb staging driver?
Hi Teddy, It's been pointed out to me that there hasn't been any forward development on the sm7xxfb in over a year now. Is development dead, and I should delete it, or are you planning on doing more work on it soon so that it can be merged out of the staging tree? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
status of echo staging driver?
Hi Steve and David, It's been pointed out to me that there hasn't been any forward development on the echo driver in over a year now. Is development dead, and I should delete it, or are you planning on doing more work on it soon so that it can be merged out of the staging tree? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
RE: [PATCH v2 2/2] stagin: fpgaboot: Driver for downloading Xilinx FPGA image
> -Original Message- > From: Greg KH [mailto:gre...@linuxfoundation.org] > Sent: Thursday, January 09, 2014 7:11 AM > To: Insop Song > Cc: de...@driverdev.osuosl.org > Subject: Re: [PATCH v2 2/2] stagin: fpgaboot: Driver for downloading Xilinx > FPGA image > > On Thu, Jan 09, 2014 at 12:55:47AM -0800, Insop Song wrote: > > Review feedback, add TODO, remove EXPORT_SYMBOL, update README > fie > > format > > > > Signed-off-by: Insop Song > > Please merge this with the previous patch, as then we only need one, right? > > Also, your Subject: line is missing a 'g' :) > I will merge and create one patch and fix the type. Thank you, ISS ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
RE: [PATCH 1/1] Drivers: hv: Implement the file copy service
> -Original Message- > From: Dan Carpenter [mailto:dan.carpen...@oracle.com] > Sent: Wednesday, January 08, 2014 11:40 PM > To: KY Srinivasan > Cc: gre...@linuxfoundation.org; linux-ker...@vger.kernel.org; > de...@linuxdriverproject.org; o...@aepfle.de; a...@canonical.com; > jasow...@redhat.com > Subject: Re: [PATCH 1/1] Drivers: hv: Implement the file copy service > > On Wed, Jan 08, 2014 at 03:48:35PM -0800, K. Y. Srinivasan wrote: > > Implement the file copy service for Linux guests on Hyper-V. This permits > > the > > host to copy a file (over VMBUS) into the guest. This facility is part of > > "guest integration services" supported on the Windows platform. > > Here is a link that provides additional details on this functionality: > > > > http://technet.microsoft.com/en-us/library/dn464282.aspx > > > > Dan, Thank you for your thorough review (as always). I will address the style issues in the next version. > > Is there no way we could implement file copying in user space? Unfortunately not. The use case is when the files need to be copied into the guest when there is no other connectivity to the guest other than the vmbus. > > > Signed-off-by: K. Y. Srinivasan > > --- > > drivers/hv/Makefile|2 +- > > drivers/hv/hv_fcopy.c | 451 > > > drivers/hv/hv_util.c | 10 + > > include/linux/hyperv.h | 60 ++ > > tools/hv/hv_fcopy_daemon.c | 171 + > > 5 files changed, 693 insertions(+), 1 deletions(-) > > create mode 100644 drivers/hv/hv_fcopy.c > > create mode 100644 tools/hv/hv_fcopy_daemon.c > > > > diff --git a/drivers/hv/Makefile b/drivers/hv/Makefile > > index 0a74b56..5e4dfa4 100644 > > --- a/drivers/hv/Makefile > > +++ b/drivers/hv/Makefile > > @@ -5,4 +5,4 @@ obj-$(CONFIG_HYPERV_BALLOON)+= hv_balloon.o > > hv_vmbus-y := vmbus_drv.o \ > > hv.o connection.o channel.o \ > > channel_mgmt.o ring_buffer.o > > -hv_utils-y := hv_util.o hv_kvp.o hv_snapshot.o > > +hv_utils-y := hv_util.o hv_kvp.o hv_snapshot.o hv_fcopy.o > > diff --git a/drivers/hv/hv_fcopy.c b/drivers/hv/hv_fcopy.c > > new file mode 100644 > > index 000..e44a112 > > --- /dev/null > > +++ b/drivers/hv/hv_fcopy.c > > @@ -0,0 +1,451 @@ > > +/* > > + * An implementation of file copy service. > > + * > > + * Copyright (C) 2014, Microsoft, Inc. > > + * > > + * Author : K. Y. Srinivasan > > + * > > + * This program is free software; you can redistribute it and/or modify it > > + * under the terms of the GNU General Public License version 2 as published > > + * by the Free Software Foundation. > > + * > > + * This program is distributed in the hope that it will be useful, but > > + * WITHOUT ANY WARRANTY; without even the implied warranty of > > + * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE > or > > + * NON INFRINGEMENT. See the GNU General Public License for more > > + * details. > > + * > > + */ > > + > > +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt > > + > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > Use #include for better security. > > > + > > +#define WIN8_SRV_MAJOR 1 > > +#define WIN8_SRV_MINOR 1 > > +#define WIN8_SRV_VERSION (WIN8_SRV_MAJOR << 16 | > WIN8_SRV_MINOR) > > + > > + > > + > > Extra blank line. > > > +/* > > + * Global state maintained for transaction that is being processed. > > + * Note that only one transaction can be active at any point in time. > > + * > > + * This state is set when we receive a request from the host; we > > + * cleanup this state when the transaction is completed - when we respond > > + * to the host with our response. > > + */ > > + > > +static struct { > > + bool active; /* transaction status - active or not */ > > + int recv_len; /* number of bytes received. */ > > + struct hv_fcopy_hdr *fcopy_msg; /* current message */ > > + struct hv_start_fcopy message; /* sent to daemon */ > > + struct vmbus_channel *recv_channel; /* chn we got the request */ > > + u64 recv_req_id; /* request ID. */ > > + void *fcopy_context; /* for the channel callback */ > > + struct semaphore read_sema; > > This is racy at the start. read_sema is supposed to be locked until > there is a file to be copied but it starts out unlocked and we unlock it > again at the start of a transaction. I am not sure I understand your concern. The initial value of the semaphore will ensure the reader will block until there is something to be read. This is the case where the read from the daemon comes in before there is an active transaction that needs processing. This semaphore is only incremented when we want to send something to the daemon. > > Sending multiple files is also racy. The "active" flag is supposed to > serialize it but flags are not locks and they are not atomic. We can > queue up one request in the fcopy_context pointer but it's writte
[PATCH v2 0/3] Staging: rtl8187se: Sparse fixes
Fix sparse warnings for undeclared symbols not marked static. Anmol Sarma (3): Staging: rtl8187se: r8180_core.c: mark symbols as static Staging: rtl8187se: r8180_wx.c: make 'rtl8180_rates' static Staging: rtl8187se: ieee80211: ieee80211_softmac.c: mark symbols as static .../rtl8187se/ieee80211/ieee80211_softmac.c| 74 +++--- drivers/staging/rtl8187se/r8180_core.c | 14 ++-- drivers/staging/rtl8187se/r8180_wx.c | 2 +- 3 files changed, 45 insertions(+), 45 deletions(-) -- 1.8.3.2 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v2 1/3] Staging: rtl8187se: r8180_core.c: mark symbols as static
Fix sparse warnings for undeclared symbols not marked static like: 390:6: warning: symbol 'buffer_free' was not declared. Should it be static? 1031:5: warning: symbol 'ComputeTxTime' was not declared. Should it be static? Signed-off-by: Anmol Sarma --- drivers/staging/rtl8187se/r8180_core.c | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/staging/rtl8187se/r8180_core.c b/drivers/staging/rtl8187se/r8180_core.c index 297136b..45a60c0 100644 --- a/drivers/staging/rtl8187se/r8180_core.c +++ b/drivers/staging/rtl8187se/r8180_core.c @@ -387,7 +387,7 @@ static short buffer_add(struct buffer **buffer, u32 *buf, dma_addr_t dma, return 0; } -void buffer_free(struct net_device *dev, struct buffer **buffer, int len, +static void buffer_free(struct net_device *dev, struct buffer **buffer, int len, short consistent) { @@ -1028,7 +1028,7 @@ inline u8 rtl8180_IsWirelessBMode(u16 rate) u16 N_DBPSOfRate(u16 DataRate); -u16 ComputeTxTime(u16 FrameLength, u16 DataRate, u8 bManagementFrame, +static u16 ComputeTxTime(u16 FrameLength, u16 DataRate, u8 bManagementFrame, u8 bShortPreamble) { u16 FrameTime; @@ -2342,7 +2342,7 @@ static void rtl8187se_eeprom_register_write(struct eeprom_93cx6 *eeprom) udelay(10); } -short rtl8180_init(struct net_device *dev) +static short rtl8180_init(struct net_device *dev) { struct r8180_priv *priv = ieee80211_priv(dev); u16 word; @@ -2832,7 +2832,7 @@ static struct net_device_stats *rtl8180_stats(struct net_device *dev) /* * Change current and default preamble mode. */ -bool MgntActSet_802_11_PowerSaveMode(struct r8180_priv *priv, +static bool MgntActSet_802_11_PowerSaveMode(struct r8180_priv *priv, RT_PS_MODE rtPsMode) { /* Currently, we do not change power save mode on IBSS mode. */ @@ -2844,7 +2844,7 @@ bool MgntActSet_802_11_PowerSaveMode(struct r8180_priv *priv, return true; } -void LeisurePSEnter(struct r8180_priv *priv) +static void LeisurePSEnter(struct r8180_priv *priv) { if (priv->bLeisurePs) { if (priv->ieee80211->ps == IEEE80211_PS_DISABLED) @@ -2853,7 +2853,7 @@ void LeisurePSEnter(struct r8180_priv *priv) } } -void LeisurePSLeave(struct r8180_priv *priv) +static void LeisurePSLeave(struct r8180_priv *priv) { if (priv->bLeisurePs) { if (priv->ieee80211->ps != IEEE80211_PS_DISABLED) @@ -3526,7 +3526,7 @@ static void rtl8180_tx_isr(struct net_device *dev, int pri, short error) spin_unlock_irqrestore(&priv->tx_lock, flag); } -irqreturn_t rtl8180_interrupt(int irq, void *netdev) +static irqreturn_t rtl8180_interrupt(int irq, void *netdev) { struct net_device *dev = (struct net_device *) netdev; struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); -- 1.8.3.2 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v2 2/3] Staging: rtl8187se: r8180_wx.c: make 'rtl8180_rates' static
Fixes the following sparse warning: 27:5: warning: symbol 'rtl8180_rates' was not declared. Should it be static? Signed-off-by: Anmol Sarma --- drivers/staging/rtl8187se/r8180_wx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/rtl8187se/r8180_wx.c b/drivers/staging/rtl8187se/r8180_wx.c index bae6875..85099bb 100644 --- a/drivers/staging/rtl8187se/r8180_wx.c +++ b/drivers/staging/rtl8187se/r8180_wx.c @@ -24,7 +24,7 @@ #include #include "ieee80211/dot11d.h" -u32 rtl8180_rates[] = {100, 200, 550, 1100, +static u32 rtl8180_rates[] = {100, 200, 550, 1100, 600, 900, 1200, 1800, 2400, 3600, 4800, 5400}; #define RATE_COUNT ARRAY_SIZE(rtl8180_rates) -- 1.8.3.2 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v3 2/2] staging: fpgaboot: Driver for downloading Xilinx FPGA image
On Thu, Jan 9, 2014 at 7:20 AM, Greg KH wrote: > On Thu, Jan 09, 2014 at 01:36:15AM -0800, Insop Song wrote: >> --- /dev/null >> +++ b/drivers/staging/gs_fpgaboot/TODO >> @@ -0,0 +1,14 @@ >> +TODO: >> +- get bus width input instead of hardcoded bus width >> + >> + - make it easier to config different programming method for >> + other embedded targets, such as, different combination of gpio >> + or serial programming > > Odd formatting. > > And why is this last one a requirement to get this out of the staging > directory? > Next patch, v4, I updated the format. As I replied in other mail, my intention of staging this driver is to get feedback and reviewed by more people. So the last bullet item is not needed, and I've updated TODO file. >> +DONE: >> + - run checkpatch >> + - build tested > > No need to have this. > Removed. >> + >> +Please send any patches for this driver to Insop Song > > That's not the email address you sent this patch from. > Updated with my sign-off address >> +and Greg Kroah-Hartman . And please CC linux-usb >> + too. > > What does the linux-usb mailing list have to do with this driver? > Sorry, copy and past error from the TODO file that I referred. Updated to staging mailing list >> /* G100 specific bit swap and remmap (to gpio pins) for byte 0 */ >> @@ -225,7 +217,7 @@ static inline void byte1_out(unsigned char data) >> /* >> * TODO: >> * - configurable per device type for different I/O config >> - * so that this can be easily extended to G200 and more >> + * so that this can be easily extended other target devices > > Don't add incorrect lines if at all possible, others will just have to > go back and fix them up later. > > Oh, and please merge with the first patch, as asked for before. > Updated, and will send v4 in one patch. > thanks, > > greg k-h Thank you, ISS ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/1] Drivers: hv: Implement the file copy service
We've had this discussion before where you urge me to trust the host... Problem: This code is racy. Solution: The host will only send one message at a time. Now I have to audit the user space code on the host and I don't feel like doing that so you win. I wish we had a better way to do IPC. If kdbus were ready, that might have worked for this, and it's a better solution because both sender and reciever code will be written in a less trusting way. regards, dan carpenter ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/1] Drivers: hv: Implement the file copy service
On Thu, Jan 09, 2014 at 11:09:21PM +0300, Dan Carpenter wrote: > We've had this discussion before where you urge me to trust the host... > > Problem: This code is racy. > Solution: The host will only send one message at a time. > > Now I have to audit the user space code on the host and I don't feel > like doing that so you win. > > I wish we had a better way to do IPC. If kdbus were ready, that might > have worked for this, and it's a better solution because both sender and > reciever code will be written in a less trusting way. kdbus is almost ready, it might make 3.15, depending on the result of work that is happening at linux.conf.au and FOSDEM. If it would be a better solution for this, that's even more reason to get kdbus merged soon, no need to add something that doesn't really work. But, how will kdbus help with this? It's a userspace <-> userspace message transmission bus, would you want the kernel to be a receiver or sender here? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v4 0/1] staging: fpgaboot: Xilinx FPGA firmware download driver
Xilinx FPGA firmware download driver v4 - update based on feedback - merge change into one patch Insop Song (1): staging: fpgaboot: Xilinx FPGA firmware download driver drivers/staging/Kconfig |2 + drivers/staging/Makefile |1 + drivers/staging/gs_fpgaboot/Kconfig |8 + drivers/staging/gs_fpgaboot/Makefile |4 + drivers/staging/gs_fpgaboot/README| 46 +++ drivers/staging/gs_fpgaboot/TODO |7 + drivers/staging/gs_fpgaboot/gs_fpgaboot.c | 503 + drivers/staging/gs_fpgaboot/gs_fpgaboot.h | 56 drivers/staging/gs_fpgaboot/io.c | 307 ++ drivers/staging/gs_fpgaboot/io.h | 90 ++ 10 files changed, 1024 insertions(+) create mode 100644 drivers/staging/gs_fpgaboot/Kconfig create mode 100644 drivers/staging/gs_fpgaboot/Makefile create mode 100644 drivers/staging/gs_fpgaboot/README create mode 100644 drivers/staging/gs_fpgaboot/TODO create mode 100644 drivers/staging/gs_fpgaboot/gs_fpgaboot.c create mode 100644 drivers/staging/gs_fpgaboot/gs_fpgaboot.h create mode 100644 drivers/staging/gs_fpgaboot/io.c create mode 100644 drivers/staging/gs_fpgaboot/io.h -- 1.7.9.5 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v4 1/1] staging: fpgaboot: Xilinx FPGA firmware download driver
This driver downloads Xilinx FPGA firmware using gpio pins. It loads Xilinx FPGA bitstream format firmware image and program the Xilinx FPGA using SelectMAP (parallel) mode. Signed-off-by: Insop Song --- drivers/staging/Kconfig |2 + drivers/staging/Makefile |1 + drivers/staging/gs_fpgaboot/Kconfig |8 + drivers/staging/gs_fpgaboot/Makefile |4 + drivers/staging/gs_fpgaboot/README| 46 +++ drivers/staging/gs_fpgaboot/TODO |7 + drivers/staging/gs_fpgaboot/gs_fpgaboot.c | 503 + drivers/staging/gs_fpgaboot/gs_fpgaboot.h | 56 drivers/staging/gs_fpgaboot/io.c | 307 ++ drivers/staging/gs_fpgaboot/io.h | 90 ++ 10 files changed, 1024 insertions(+) create mode 100644 drivers/staging/gs_fpgaboot/Kconfig create mode 100644 drivers/staging/gs_fpgaboot/Makefile create mode 100644 drivers/staging/gs_fpgaboot/README create mode 100644 drivers/staging/gs_fpgaboot/TODO create mode 100644 drivers/staging/gs_fpgaboot/gs_fpgaboot.c create mode 100644 drivers/staging/gs_fpgaboot/gs_fpgaboot.h create mode 100644 drivers/staging/gs_fpgaboot/io.c create mode 100644 drivers/staging/gs_fpgaboot/io.h diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig index d2beb07..c5c1c9c 100644 --- a/drivers/staging/Kconfig +++ b/drivers/staging/Kconfig @@ -150,4 +150,6 @@ source "drivers/staging/dgnc/Kconfig" source "drivers/staging/dgap/Kconfig" +source "drivers/staging/gs_fpgaboot/Kconfig" + endif # STAGING diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile index bf62386..9359019 100644 --- a/drivers/staging/Makefile +++ b/drivers/staging/Makefile @@ -67,3 +67,4 @@ obj-$(CONFIG_XILLYBUS)+= xillybus/ obj-$(CONFIG_DGNC) += dgnc/ obj-$(CONFIG_DGAP) += dgap/ obj-$(CONFIG_MTD_SPINAND_MT29F)+= mt29f_spinand/ +obj-$(CONFIG_GS_FPGABOOT) += gs_fpgaboot/ diff --git a/drivers/staging/gs_fpgaboot/Kconfig b/drivers/staging/gs_fpgaboot/Kconfig new file mode 100644 index 000..5506452 --- /dev/null +++ b/drivers/staging/gs_fpgaboot/Kconfig @@ -0,0 +1,8 @@ +# +# "xilinx FPGA firmware download, fpgaboot" +# +config GS_FPGABOOT + tristate "Xilinx FPGA firmware download module" + default n + help + Xilinx FPGA firmware download module diff --git a/drivers/staging/gs_fpgaboot/Makefile b/drivers/staging/gs_fpgaboot/Makefile new file mode 100644 index 000..34cb606 --- /dev/null +++ b/drivers/staging/gs_fpgaboot/Makefile @@ -0,0 +1,4 @@ +gs_fpga-y += gs_fpgaboot.o io.o +obj-$(CONFIG_GS_FPGABOOT) += gs_fpga.o + +ccflags-$(CONFIG_GS_FPGA_DEBUG):= -DDEBUG diff --git a/drivers/staging/gs_fpgaboot/README b/drivers/staging/gs_fpgaboot/README new file mode 100644 index 000..d028f56 --- /dev/null +++ b/drivers/staging/gs_fpgaboot/README @@ -0,0 +1,46 @@ +== +Linux Driver Source for Xilinx FPGA firmware download +== + + +TABLE OF CONTENTS. + +1. SUMMARY +2. BACKGROUND +3. DESIGN +4. HOW TO USE +5. REFERENCE + +1. SUMMARY + + - Download Xilinx FPGA firmware + - This module downloads Xilinx FPGA firmware using gpio pins. + +2. BACKGROUND + + An FPGA (Field Programmable Gate Array) is a programmable hardware that is + used in various applications. Hardware design needs to programmed through + a dedicated device or CPU assisted way (serial or parallel). + This driver provides a way to download FPGA firmware. + +3. DESIGN + + - load Xilinx FPGA bitstream format[1] firmware image file using + kernel firmware framework, request_firmware() + - program the Xilinx FPGA using SelectMAP (parallel) mode [2] + - FPGA prgram is done by gpio based bit-banging, as an example + - platform independent file: gs_fpgaboot.c + - platform dependent file: io.c + + +4. HOW TO USE + + $ insmod gs_fpga.ko file="xlinx_fpga_top_bitstream.bit" + $ rmmod gs_fpga + +5. REFERENCE + + 1. Xilinx APP NOTE XAPP583: + http://www.xilinx.com/support/documentation/application_notes/xapp583-fpga-configuration.pdf + 2. bitstream file info: + http://home.earthlink.net/~davesullins/software/bitinfo.html diff --git a/drivers/staging/gs_fpgaboot/TODO b/drivers/staging/gs_fpgaboot/TODO new file mode 100644 index 000..2d9fb17 --- /dev/null +++ b/drivers/staging/gs_fpgaboot/TODO @@ -0,0 +1,7 @@ +TODO: + - get bus width input instead of hardcoded bus width + - get it reviewed + +Please send any patches for this driver to Insop Song +and Greg Kroah-Hartman . +And please CC to "Staging subsystem" mail list too. diff --git a/drivers/staging/gs_fpgaboot/gs_fpgaboot.c b/drivers/staging/gs_fpgaboot/gs_
[PATCH 1/2] Staging: rtl8188eu: Fixed required spaces after ',' and around '=' and '=='
This patch fixes all spaces required after ',' and around '=' aswell as '==' checkpatch.pl errors for rtl8188eu. Signed-off-by: Tim Jester-Pfadt --- drivers/staging/rtl8188eu/include/Hal8188EPwrSeq.h | 2 +- drivers/staging/rtl8188eu/include/odm.h| 2 +- drivers/staging/rtl8188eu/include/odm_debug.h | 2 +- drivers/staging/rtl8188eu/include/odm_interface.h | 2 +- drivers/staging/rtl8188eu/include/osdep_service.h | 22 drivers/staging/rtl8188eu/include/rtl8188e_hal.h | 2 +- drivers/staging/rtl8188eu/include/rtw_cmd.h| 4 +-- drivers/staging/rtl8188eu/include/rtw_eeprom.h | 2 +- drivers/staging/rtl8188eu/include/rtw_efuse.h | 2 +- drivers/staging/rtl8188eu/include/rtw_io.h | 30 +++--- drivers/staging/rtl8188eu/include/rtw_iol.h| 8 +++--- drivers/staging/rtl8188eu/include/rtw_led.h| 2 +- drivers/staging/rtl8188eu/include/rtw_mlme.h | 6 ++--- drivers/staging/rtl8188eu/include/rtw_mp.h | 2 +- drivers/staging/rtl8188eu/include/rtw_security.h | 2 +- drivers/staging/rtl8188eu/include/wifi.h | 2 +- 16 files changed, 46 insertions(+), 46 deletions(-) diff --git a/drivers/staging/rtl8188eu/include/Hal8188EPwrSeq.h b/drivers/staging/rtl8188eu/include/Hal8188EPwrSeq.h index 20d0b3e..aebf1d3 100644 --- a/drivers/staging/rtl8188eu/include/Hal8188EPwrSeq.h +++ b/drivers/staging/rtl8188eu/include/Hal8188EPwrSeq.h @@ -160,7 +160,7 @@ #define RTL8188E_TRANS_END \ /* format */ \ /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \ - {0x, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK,0, PWR_CMD_END, 0, 0}, /* */ + {0x, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, 0, PWR_CMD_END, 0, 0}, /* */ extern struct wl_pwr_cfg rtl8188E_power_on_flow[RTL8188E_TRANS_CARDEMU_TO_ACT_STEPS+RTL8188E_TRANS_END_STEPS]; diff --git a/drivers/staging/rtl8188eu/include/odm.h b/drivers/staging/rtl8188eu/include/odm.h index eaa4bc1..80d9815 100644 --- a/drivers/staging/rtl8188eu/include/odm.h +++ b/drivers/staging/rtl8188eu/include/odm.h @@ -151,7 +151,7 @@ struct rtl_ps { int Rssi_val_min; u8 initialize; - u32 Reg874,RegC70,Reg85C,RegA74; + u32 Reg874, RegC70, Reg85C, RegA74; }; diff --git a/drivers/staging/rtl8188eu/include/odm_debug.h b/drivers/staging/rtl8188eu/include/odm_debug.h index 622f4c1..bd16c84 100644 --- a/drivers/staging/rtl8188eu/include/odm_debug.h +++ b/drivers/staging/rtl8188eu/include/odm_debug.h @@ -136,7 +136,7 @@ DbgPrint(title_str);\ DbgPrint(" "); \ for (__i = 0; __i < 6; __i++) \ - DbgPrint("%02X%s", __ptr[__i], (__i==5)?"":"-");\ + DbgPrint("%02X%s", __ptr[__i], (__i == 5)?"":"-");\ DbgPrint("\n"); \ } diff --git a/drivers/staging/rtl8188eu/include/odm_interface.h b/drivers/staging/rtl8188eu/include/odm_interface.h index e5c8704..d25eb08 100644 --- a/drivers/staging/rtl8188eu/include/odm_interface.h +++ b/drivers/staging/rtl8188eu/include/odm_interface.h @@ -64,7 +64,7 @@ ODM_REG(DIG,_pDM_Odm) enum odm_h2c_cmd { ODM_H2C_RSSI_REPORT = 0, - ODM_H2C_PSD_RESULT= 1, + ODM_H2C_PSD_RESULT = 1, ODM_H2C_PathDiv = 2, ODM_MAX_H2CCMD }; diff --git a/drivers/staging/rtl8188eu/include/osdep_service.h b/drivers/staging/rtl8188eu/include/osdep_service.h index 36523ed..715d0a7 100644 --- a/drivers/staging/rtl8188eu/include/osdep_service.h +++ b/drivers/staging/rtl8188eu/include/osdep_service.h @@ -129,22 +129,22 @@ static inline void rtw_list_delete(struct list_head *plist) list_del_init(plist); } -static inline void _init_timer(struct timer_list *ptimer,struct net_device *nic_hdl,void *pfunc,void* cntx) +static inline void _init_timer(struct timer_list *ptimer, struct net_device *nic_hdl, void *pfunc, void* cntx) { ptimer->function = pfunc; ptimer->data = (unsigned long)cntx; init_timer(ptimer); } -static inline void _set_timer(struct timer_list *ptimer,u32 delay_time) +static inline void _set_timer(struct timer_list *ptimer, u32 delay_time) { mod_timer(ptimer , (jiffies+(delay_time*HZ/1000))); } -static inline void _cancel_timer(struct timer_list *ptimer,u8 *bcancelled) +static inline void _cancel_timer(struct timer_list *ptimer, u8 *bcancelled) { del_timer_sync(ptimer); -
[PATCH 0/2] Staging: rtl8188eu: checkpatch.pl error cleanups
This patchset fixes all occurrences of the "space required after ','" "space required around '='" aswell as "foo * bar" related checkpatch.pl errors in rtl8188eu. The patchset does not fix the remaining 80 character limit warnings, since this might require more substantial code modifiction. Tim Jester-Pfadt (2): Staging: rtl8188eu: Fixed required spaces after ',' and around '=' and '==' Staging: rtl8188eu: Fixed "foo * bar" related coding style issues drivers/staging/rtl8188eu/include/Hal8188EPwrSeq.h | 2 +- drivers/staging/rtl8188eu/include/odm.h| 2 +- drivers/staging/rtl8188eu/include/odm_debug.h | 2 +- drivers/staging/rtl8188eu/include/odm_interface.h | 2 +- drivers/staging/rtl8188eu/include/osdep_service.h | 24 +++ drivers/staging/rtl8188eu/include/rtl8188e_hal.h | 4 +-- drivers/staging/rtl8188eu/include/rtl8188e_recv.h | 6 ++-- drivers/staging/rtl8188eu/include/rtw_cmd.h| 36 +++--- drivers/staging/rtl8188eu/include/rtw_eeprom.h | 2 +- drivers/staging/rtl8188eu/include/rtw_efuse.h | 2 +- drivers/staging/rtl8188eu/include/rtw_io.h | 34 ++-- drivers/staging/rtl8188eu/include/rtw_ioctl_set.h | 4 +-- drivers/staging/rtl8188eu/include/rtw_iol.h| 8 ++--- drivers/staging/rtl8188eu/include/rtw_led.h| 6 ++-- drivers/staging/rtl8188eu/include/rtw_mlme.h | 8 ++--- drivers/staging/rtl8188eu/include/rtw_mlme_ext.h | 12 drivers/staging/rtl8188eu/include/rtw_mp.h | 10 +++--- drivers/staging/rtl8188eu/include/rtw_mp_ioctl.h | 2 +- drivers/staging/rtl8188eu/include/rtw_security.h | 2 +- drivers/staging/rtl8188eu/include/wifi.h | 2 +- 20 files changed, 85 insertions(+), 85 deletions(-) -- 1.8.5.2 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 2/2] Staging: rtl8188eu: Fixed "foo * bar" related coding style issues
This patch fixes all "foo * bar", "foo*bar", "foo* bar" checkpatch.pl errors for rtl8188eu. Signed-off-by: Tim Jester-Pfadt --- drivers/staging/rtl8188eu/include/osdep_service.h | 4 +-- drivers/staging/rtl8188eu/include/rtl8188e_hal.h | 2 +- drivers/staging/rtl8188eu/include/rtl8188e_recv.h | 6 ++-- drivers/staging/rtl8188eu/include/rtw_cmd.h | 34 +++ drivers/staging/rtl8188eu/include/rtw_io.h| 2 +- drivers/staging/rtl8188eu/include/rtw_ioctl_set.h | 4 +-- drivers/staging/rtl8188eu/include/rtw_led.h | 4 +-- drivers/staging/rtl8188eu/include/rtw_mlme.h | 2 +- drivers/staging/rtl8188eu/include/rtw_mlme_ext.h | 12 drivers/staging/rtl8188eu/include/rtw_mp.h| 8 +++--- drivers/staging/rtl8188eu/include/rtw_mp_ioctl.h | 2 +- 11 files changed, 40 insertions(+), 40 deletions(-) diff --git a/drivers/staging/rtl8188eu/include/osdep_service.h b/drivers/staging/rtl8188eu/include/osdep_service.h index 715d0a7..1ec4c74 100644 --- a/drivers/staging/rtl8188eu/include/osdep_service.h +++ b/drivers/staging/rtl8188eu/include/osdep_service.h @@ -129,7 +129,7 @@ static inline void rtw_list_delete(struct list_head *plist) list_del_init(plist); } -static inline void _init_timer(struct timer_list *ptimer, struct net_device *nic_hdl, void *pfunc, void* cntx) +static inline void _init_timer(struct timer_list *ptimer, struct net_device *nic_hdl, void *pfunc, void *cntx) { ptimer->function = pfunc; ptimer->data = (unsigned long)cntx; @@ -151,7 +151,7 @@ static inline void _cancel_timer(struct timer_list *ptimer, u8 *bcancelled) #define RTW_TIMER_HDL_NAME(name) rtw_##name##_timer_hdl #define RTW_DECLARE_TIMER_HDL(name) void RTW_TIMER_HDL_NAME(name)(RTW_TIMER_HDL_ARGS) -static inline void _init_workitem(struct work_struct *pwork, void *pfunc, void * cntx) +static inline void _init_workitem(struct work_struct *pwork, void *pfunc, void *cntx) { INIT_WORK(pwork, pfunc); } diff --git a/drivers/staging/rtl8188eu/include/rtl8188e_hal.h b/drivers/staging/rtl8188eu/include/rtl8188e_hal.h index 8d1c37e..161f1e5 100644 --- a/drivers/staging/rtl8188eu/include/rtl8188e_hal.h +++ b/drivers/staging/rtl8188eu/include/rtl8188e_hal.h @@ -458,7 +458,7 @@ void Hal_EfuseParseCustomerID88E(struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail); void Hal_ReadAntennaDiversity88E(struct adapter *pAdapter, u8 *PROMContent, bool AutoLoadFail); -void Hal_ReadThermalMeter_88E(struct adapter * dapter, u8 *PROMContent, +void Hal_ReadThermalMeter_88E(struct adapter *dapter, u8 *PROMContent, bool AutoloadFail); void Hal_EfuseParseXtal_8188E(struct adapter *pAdapter, u8 *hwinfo, bool AutoLoadFail); diff --git a/drivers/staging/rtl8188eu/include/rtl8188e_recv.h b/drivers/staging/rtl8188eu/include/rtl8188e_recv.h index 02ccb40..a8facf0 100644 --- a/drivers/staging/rtl8188eu/include/rtl8188e_recv.h +++ b/drivers/staging/rtl8188eu/include/rtl8188e_recv.h @@ -58,11 +58,11 @@ enum rx_packet_type { #define INTERRUPT_MSG_FORMAT_LEN 60 void rtl8188eu_init_recvbuf(struct adapter *padapter, struct recv_buf *buf); s32 rtl8188eu_init_recv_priv(struct adapter *padapter); -void rtl8188eu_free_recv_priv(struct adapter * padapter); -void rtl8188eu_recv_hdl(struct adapter * padapter, struct recv_buf *precvbuf); +void rtl8188eu_free_recv_priv(struct adapter *padapter); +void rtl8188eu_recv_hdl(struct adapter *padapter, struct recv_buf *precvbuf); void rtl8188eu_recv_tasklet(void *priv); void rtl8188e_query_rx_phy_status(union recv_frame *fr, struct phy_stat *phy); -void rtl8188e_process_phy_info(struct adapter * padapter, void *prframe); +void rtl8188e_process_phy_info(struct adapter *padapter, void *prframe); void update_recvframe_phyinfo_88e(union recv_frame *fra, struct phy_stat *phy); void update_recvframe_attrib_88e(union recv_frame *fra, struct recv_stat *stat); diff --git a/drivers/staging/rtl8188eu/include/rtw_cmd.h b/drivers/staging/rtl8188eu/include/rtw_cmd.h index 71ea553..c9eb421 100644 --- a/drivers/staging/rtl8188eu/include/rtw_cmd.h +++ b/drivers/staging/rtl8188eu/include/rtw_cmd.h @@ -774,41 +774,41 @@ u8 rtw_createbss_cmd_ex(struct adapter *padapter, unsigned char *pbss, u8 rtw_setphy_cmd(struct adapter *padapter, u8 modem, u8 ch); u8 rtw_setstakey_cmd(struct adapter *padapter, u8 *psta, u8 unicast_key); u8 rtw_clearstakey_cmd(struct adapter *padapter, u8 *psta, u8 entry, u8 enqueue); -u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network* pnetwork); +u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network *pnetwork); u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deauth_timeout_ms, bool enqueue); u8 rtw_setopmode_cmd(struct adapter *padapter, enum ndis_802_11_network_infra networktype); u8 rtw_setdatarate_cmd(struct adapter *padapter, u8 *rateset); u8
[PATCH v2 3/3] Staging: rtl8187se: ieee80211: ieee80211_softmac.c: mark symbols as static
Fix sparse warnings for undeclared symbols not marked static like: 148:6: warning: symbol 'enqueue_mgmt' was not declared. Should it be static? 166:16: warning: symbol 'dequeue_mgmt' was not declared. Should it be static? Signed-off-by: Anmol Sarma --- .../rtl8187se/ieee80211/ieee80211_softmac.c| 74 +++--- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c index 3af1bf9..c27392d 100644 --- a/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c +++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c @@ -47,7 +47,7 @@ short ieee80211_is_shortslot(const struct ieee80211_network *net) * tag and the EXTENDED RATE MFIE tag if needed. * It encludes two bytes per tag for the tag itself and its len */ -unsigned int ieee80211_MFIE_rate_len(struct ieee80211_device *ieee) +static unsigned int ieee80211_MFIE_rate_len(struct ieee80211_device *ieee) { unsigned int rate_len = 0; @@ -65,7 +65,7 @@ unsigned int ieee80211_MFIE_rate_len(struct ieee80211_device *ieee) * Then it updates the pointer so that * it points after the new MFIE tag added. */ -void ieee80211_MFIE_Brate(struct ieee80211_device *ieee, u8 **tag_p) +static void ieee80211_MFIE_Brate(struct ieee80211_device *ieee, u8 **tag_p) { u8 *tag = *tag_p; @@ -82,7 +82,7 @@ void ieee80211_MFIE_Brate(struct ieee80211_device *ieee, u8 **tag_p) *tag_p = tag; } -void ieee80211_MFIE_Grate(struct ieee80211_device *ieee, u8 **tag_p) +static void ieee80211_MFIE_Grate(struct ieee80211_device *ieee, u8 **tag_p) { u8 *tag = *tag_p; @@ -106,7 +106,7 @@ void ieee80211_MFIE_Grate(struct ieee80211_device *ieee, u8 **tag_p) } -void ieee80211_WMM_Info(struct ieee80211_device *ieee, u8 **tag_p) +static void ieee80211_WMM_Info(struct ieee80211_device *ieee, u8 **tag_p) { u8 *tag = *tag_p; @@ -129,7 +129,7 @@ void ieee80211_WMM_Info(struct ieee80211_device *ieee, u8 **tag_p) *tag_p = tag; } -void ieee80211_TURBO_Info(struct ieee80211_device *ieee, u8 **tag_p) +static void ieee80211_TURBO_Info(struct ieee80211_device *ieee, u8 **tag_p) { u8 *tag = *tag_p; *tag++ = MFIE_TYPE_GENERIC; /* 0 */ @@ -145,7 +145,7 @@ void ieee80211_TURBO_Info(struct ieee80211_device *ieee, u8 **tag_p) printk(KERN_ALERT "This is enable turbo mode IE process\n"); } -void enqueue_mgmt(struct ieee80211_device *ieee, struct sk_buff *skb) +static void enqueue_mgmt(struct ieee80211_device *ieee, struct sk_buff *skb) { int nh; nh = (ieee->mgmt_queue_head +1) % MGMT_QUEUE_NUM; @@ -163,7 +163,7 @@ void enqueue_mgmt(struct ieee80211_device *ieee, struct sk_buff *skb) //return 0; } -struct sk_buff *dequeue_mgmt(struct ieee80211_device *ieee) +static struct sk_buff *dequeue_mgmt(struct ieee80211_device *ieee) { struct sk_buff *ret; @@ -178,7 +178,7 @@ struct sk_buff *dequeue_mgmt(struct ieee80211_device *ieee) return ret; } -void init_mgmt_queue(struct ieee80211_device *ieee) +static void init_mgmt_queue(struct ieee80211_device *ieee) { ieee->mgmt_queue_tail = ieee->mgmt_queue_head = 0; } @@ -374,7 +374,7 @@ void ext_ieee80211_send_beacon_wq(struct ieee80211_device *ieee) //spin_unlock_irqrestore(&ieee->beacon_lock,flags); } -void ieee80211_send_beacon(struct ieee80211_device *ieee) +static void ieee80211_send_beacon(struct ieee80211_device *ieee) { struct sk_buff *skb; @@ -399,7 +399,7 @@ void ieee80211_send_beacon(struct ieee80211_device *ieee) } -void ieee80211_send_beacon_cb(unsigned long _ieee) +static void ieee80211_send_beacon_cb(unsigned long _ieee) { struct ieee80211_device *ieee = (struct ieee80211_device *) _ieee; @@ -410,7 +410,7 @@ void ieee80211_send_beacon_cb(unsigned long _ieee) spin_unlock_irqrestore(&ieee->beacon_lock, flags); } -void ieee80211_send_probe(struct ieee80211_device *ieee) +static void ieee80211_send_probe(struct ieee80211_device *ieee) { struct sk_buff *skb; @@ -422,7 +422,7 @@ void ieee80211_send_probe(struct ieee80211_device *ieee) } } -void ieee80211_send_probe_requests(struct ieee80211_device *ieee) +static void ieee80211_send_probe_requests(struct ieee80211_device *ieee) { if (ieee->active_scan && (ieee->softmac_features & IEEE_SOFTMAC_PROBERQ)){ ieee80211_send_probe(ieee); @@ -433,7 +433,7 @@ void ieee80211_send_probe_requests(struct ieee80211_device *ieee) /* this performs syncro scan blocking the caller until all channels * in the allowed channel map has been checked. */ -void ieee80211_softmac_scan_syncro(struct ieee80211_device *ieee) +static void ieee80211_softmac_scan_syncro(struct ieee80211_device *ieee) { short ch = 0; u8 channel_map[MAX_CHANNEL_NUMBER+1]; @@ -571,7 +571,7 @@ out: DOT11D_ScanCompl
RE: [PATCH 1/1] Drivers: hv: Implement the file copy service
> -Original Message- > From: Dan Carpenter [mailto:dan.carpen...@oracle.com] > Sent: Thursday, January 09, 2014 12:09 PM > To: KY Srinivasan > Cc: o...@aepfle.de; gre...@linuxfoundation.org; jasow...@redhat.com; linux- > ker...@vger.kernel.org; a...@canonical.com; de...@linuxdriverproject.org > Subject: Re: [PATCH 1/1] Drivers: hv: Implement the file copy service > > We've had this discussion before where you urge me to trust the host... I am just implementing the protocol specification given by the host. If I cannot trust the specified protocol, I am not sure what else can be done here. > > Problem: This code is racy. > Solution: The host will only send one message at a time. The code is not racy given the protocol that is specified. While I could have blindly trusted the host, this driver code actually reads only one packet at a time. When we get a transaction from the host, we do not process any more transactions until the current transaction is fully processed. So what is the race condition here? > > Now I have to audit the user space code on the host and I don't feel > like doing that so you win. I don't think you need to audit any code. > > I wish we had a better way to do IPC. If kdbus were ready, that might > have worked for this, and it's a better solution because both sender and > reciever code will be written in a less trusting way. I am not sure how kdbus would help you here. We are talking about communicating between the host and the guest here. K. Y > > regards, > dan carpenter ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
RE: [PATCH 1/1] Drivers: hv: Implement the file copy service
> -Original Message- > From: gre...@linuxfoundation.org [mailto:gre...@linuxfoundation.org] > Sent: Thursday, January 09, 2014 12:15 PM > To: Dan Carpenter > Cc: KY Srinivasan; o...@aepfle.de; jasow...@redhat.com; linux- > ker...@vger.kernel.org; a...@canonical.com; de...@linuxdriverproject.org > Subject: Re: [PATCH 1/1] Drivers: hv: Implement the file copy service > > On Thu, Jan 09, 2014 at 11:09:21PM +0300, Dan Carpenter wrote: > > We've had this discussion before where you urge me to trust the host... > > > > Problem: This code is racy. > > Solution: The host will only send one message at a time. > > > > Now I have to audit the user space code on the host and I don't feel > > like doing that so you win. > > > > I wish we had a better way to do IPC. If kdbus were ready, that might > > have worked for this, and it's a better solution because both sender and > > reciever code will be written in a less trusting way. > > kdbus is almost ready, it might make 3.15, depending on the result of > work that is happening at linux.conf.au and FOSDEM. > > If it would be a better solution for this, that's even more reason to > get kdbus merged soon, no need to add something that doesn't really > work. > > But, how will kdbus help with this? It's a userspace <-> userspace > message transmission bus, would you want the kernel to be a receiver or > sender here? Greg, The transport between the kernel and the user in this driver is a regular char device and Vmbus is the transport between the host and the guest. As you observe, I am not sure how kdbus would be useful. K. Y > > thanks, > > greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH net-next] hyperv: Add support for physically discontinuous receive buffer
This will allow us to use bigger receive buffer, and prevent allocation failure due to fragmented memory. Signed-off-by: Haiyang Zhang Reviewed-by: K. Y. Srinivasan --- drivers/hv/channel.c| 14 -- drivers/net/hyperv/hyperv_net.h |2 +- drivers/net/hyperv/netvsc.c |7 ++- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c index cea623c..69ea36f 100644 --- a/drivers/hv/channel.c +++ b/drivers/hv/channel.c @@ -209,7 +209,6 @@ static int create_gpadl_header(void *kbuffer, u32 size, { int i; int pagecount; - unsigned long long pfn; struct vmbus_channel_gpadl_header *gpadl_header; struct vmbus_channel_gpadl_body *gpadl_body; struct vmbus_channel_msginfo *msgheader; @@ -219,7 +218,6 @@ static int create_gpadl_header(void *kbuffer, u32 size, int pfnsum, pfncount, pfnleft, pfncurr, pfnsize; pagecount = size >> PAGE_SHIFT; - pfn = virt_to_phys(kbuffer) >> PAGE_SHIFT; /* do we need a gpadl body msg */ pfnsize = MAX_SIZE_CHANNEL_MESSAGE - @@ -248,7 +246,8 @@ static int create_gpadl_header(void *kbuffer, u32 size, gpadl_header->range[0].byte_offset = 0; gpadl_header->range[0].byte_count = size; for (i = 0; i < pfncount; i++) - gpadl_header->range[0].pfn_array[i] = pfn+i; + gpadl_header->range[0].pfn_array[i] = slow_virt_to_phys( + kbuffer + PAGE_SIZE * i) >> PAGE_SHIFT; *msginfo = msgheader; *messagecount = 1; @@ -301,7 +300,9 @@ static int create_gpadl_header(void *kbuffer, u32 size, * so the hypervisor gurantees that this is ok. */ for (i = 0; i < pfncurr; i++) - gpadl_body->pfn[i] = pfn + pfnsum + i; + gpadl_body->pfn[i] = slow_virt_to_phys( + kbuffer + PAGE_SIZE * (pfnsum + i)) >> + PAGE_SHIFT; /* add to msg header */ list_add_tail(&msgbody->msglistentry, @@ -327,7 +328,8 @@ static int create_gpadl_header(void *kbuffer, u32 size, gpadl_header->range[0].byte_offset = 0; gpadl_header->range[0].byte_count = size; for (i = 0; i < pagecount; i++) - gpadl_header->range[0].pfn_array[i] = pfn+i; + gpadl_header->range[0].pfn_array[i] = slow_virt_to_phys( + kbuffer + PAGE_SIZE * i) >> PAGE_SHIFT; *msginfo = msgheader; *messagecount = 1; @@ -344,7 +346,7 @@ nomem: * vmbus_establish_gpadl - Estabish a GPADL for the specified buffer * * @channel: a channel - * @kbuffer: from kmalloc + * @kbuffer: from kmalloc or vmalloc * @size: page-size multiple * @gpadl_handle: some funky thing */ diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h index a26eecb..7b594ce 100644 --- a/drivers/net/hyperv/hyperv_net.h +++ b/drivers/net/hyperv/hyperv_net.h @@ -462,7 +462,7 @@ struct nvsp_message { #define NETVSC_MTU 65536 -#define NETVSC_RECEIVE_BUFFER_SIZE (1024*1024*2) /* 2MB */ +#define NETVSC_RECEIVE_BUFFER_SIZE (1024*1024*16) /* 16MB */ #define NETVSC_RECEIVE_BUFFER_ID 0xcafe diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c index 93b485b..03a2c6e 100644 --- a/drivers/net/hyperv/netvsc.c +++ b/drivers/net/hyperv/netvsc.c @@ -136,8 +136,7 @@ static int netvsc_destroy_recv_buf(struct netvsc_device *net_device) if (net_device->recv_buf) { /* Free up the receive buffer */ - free_pages((unsigned long)net_device->recv_buf, - get_order(net_device->recv_buf_size)); + vfree(net_device->recv_buf); net_device->recv_buf = NULL; } @@ -163,9 +162,7 @@ static int netvsc_init_recv_buf(struct hv_device *device) return -ENODEV; ndev = net_device->ndev; - net_device->recv_buf = - (void *)__get_free_pages(GFP_KERNEL|__GFP_ZERO, - get_order(net_device->recv_buf_size)); + net_device->recv_buf = vzalloc(net_device->recv_buf_size); if (!net_device->recv_buf) { netdev_err(ndev, "unable to allocate receive " "buffer of size %d\n", net_device->recv_buf_size); -- 1.7.4.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: status of echo staging driver?
Hi Greg, Development as been completed, and AFAIK it works just fine for many people. Is there anything that needs to be done from your side to get it merged into the kernel? Apologies if I'm missing something in the development process. Cheers, David On Thu, 2014-01-09 at 11:13 -0800, Greg KH wrote: > Hi Steve and David, > > It's been pointed out to me that there hasn't been any forward > development on the echo driver in over a year now. Is development dead, > and I should delete it, or are you planning on doing more work on it > soon so that it can be merged out of the staging tree? > > thanks, > > greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] comedi: Humusoft MF634 and MF624 DAQ cards driver
This patch adds Comedi driver for Humusoft MF634 (PCIe) and MF624 (PCI) data acquisition cards. The legacy card Humusoft MF614 is not supported. More info about the cards may be found at http://humusoft.cz/produkty/datacq/ The driver was tested with both cards. Everything seems to work properly. Just the basic functionality of the card (DIO, ADC, DAC) is supported by this driver. Signed-off-by: Rostislav Lisovy --- create mode 100644 drivers/staging/comedi/drivers/mf6x4.c diff --git a/drivers/staging/comedi/Kconfig b/drivers/staging/comedi/Kconfig index bfa27e7..89e25b4 100644 --- a/drivers/staging/comedi/Kconfig +++ b/drivers/staging/comedi/Kconfig @@ -884,6 +884,12 @@ config COMEDI_GSC_HPDI To compile this driver as a module, choose M here: the module will be called gsc_hpdi. +config COMEDI_MF6X4 + tristate "Humusoft MF634 and MF624 DAQ Card support" + ---help--- + This driver supports both Humusoft MF634 and MF624 Data acquisition + cards. The legacy Humusoft MF614 card is not supported. + config COMEDI_ICP_MULTI tristate "Inova ICP_MULTI support" ---help--- diff --git a/drivers/staging/comedi/comedidev.h b/drivers/staging/comedi/comedidev.h index 143be80..161bdd2 100644 --- a/drivers/staging/comedi/comedidev.h +++ b/drivers/staging/comedi/comedidev.h @@ -410,6 +410,7 @@ void comedi_driver_unregister(struct comedi_driver *); #define PCI_VENDOR_ID_IOTECH 0x1616 #define PCI_VENDOR_ID_CONTEC 0x1221 #define PCI_VENDOR_ID_RTD 0x1435 +#define PCI_VENDOR_ID_HUMUSOFT 0x186c struct pci_dev; struct pci_driver; diff --git a/drivers/staging/comedi/drivers/Makefile b/drivers/staging/comedi/drivers/Makefile index 94cbd26..9e979a9 100644 --- a/drivers/staging/comedi/drivers/Makefile +++ b/drivers/staging/comedi/drivers/Makefile @@ -110,6 +110,7 @@ obj-$(CONFIG_COMEDI_NI_PCIMIO) += ni_pcimio.o obj-$(CONFIG_COMEDI_RTD520)+= rtd520.o obj-$(CONFIG_COMEDI_S626) += s626.o obj-$(CONFIG_COMEDI_SSV_DNP) += ssv_dnp.o +obj-$(CONFIG_COMEDI_MF6X4) += mf6x4.o # Comedi PCMCIA drivers obj-$(CONFIG_COMEDI_CB_DAS16_CS) += cb_das16_cs.o diff --git a/drivers/staging/comedi/drivers/mf6x4.c b/drivers/staging/comedi/drivers/mf6x4.c new file mode 100644 index 000..81b78e0 --- /dev/null +++ b/drivers/staging/comedi/drivers/mf6x4.c @@ -0,0 +1,354 @@ +/* + * comedi/drivers/mf6x4.c + * Driver for Humusoft MF634 and MF624 Data acquisition cards + * + * COMEDI - Linux Control and Measurement Device Interface + * Copyright (C) 2000 David A. Schleef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ +/* + * Driver: mf6x4 + * Description: Humusoft MF634 and MF624 Data acquisition card driver + * Devices: Humusoft MF634, Humusoft MF624 + * Author: Rostislav Lisovy + * Status: works + * Updated: + * Configuration Options: none + */ + +#include +#include +#include +#include "../comedidev.h" + +/* Registers present in BAR0 memory region */ +#define MF624_GPIOC_R 0x54 + +#define MF6X4_GPIOC_EOLC /* End Of Last Conversion */ (1 << 17) +#define MF6X4_GPIOC_LDAC /* Load DACs */ (1 << 23) +#define MF6X4_GPIOC_DACEN (1 << 26) + +/* BAR1 registers */ +#define MF6X4_DIN_R0x10 +#define MF6X4_DIN_M0xff +#define MF6X4_DOUT_R 0x10 +#define MF6X4_DOUT_M 0xff + +#define MF6X4_ADSTART_R0x20 +#define MF6X4_ADDATA_R 0x00 +#define MF6X4_ADCTRL_R 0x00 +#define MF6X4_ADCTRL_M 0xff + +#define MF6X4_DA0_R0x20 +#define MF6X4_DA1_R0x22 +#define MF6X4_DA2_R0x24 +#define MF6X4_DA3_R0x26 +#define MF6X4_DA4_R0x28 +#define MF6X4_DA5_R0x2a +#define MF6X4_DA6_R0x2c +#define MF6X4_DA7_R0x2e +/* Map DAC cahnnel id to real HW-dependent offset value */ +#define MF6X4_DAC_R(x) (0x20 + ((x) * 2)) +#define MF6X4_DA_M 0x3fff +
Re: [PATCH] comedi: Humusoft MF634 and MF624 DAQ cards driver
On Wed, 2014-01-08 at 10:47 +0300, Dan Carpenter wrote: > On Tue, Jan 07, 2014 at 11:24:57PM +0100, Rostislav Lisovy wrote: > > This patch adds Comedi driver for Humusoft MF634 (PCIe) and > > MF624 (PCI) data acquisition cards. The legacy card Humusoft > > MF614 is not supported. More info about the cards may be found > > at http://humusoft.cz/produkty/datacq/ > > The driver was tested with both cards. Everything seems to work > > properly. Just the basic functionality of the card (DIO, ADC, DAC) > > is supported by this driver. > > > > Signed-off-by: Rostislav Lisovy > > > > create mode 100644 drivers/staging/comedi/drivers/mf6x4.c > > > > There should be a "---" after the Signed-off-by line and before the > diffstat "create mode 100644 drivers/staging/comedi/drivers/mf6x4.c" > line. Otherwise, the diffstat gets included in the changelog. I just resent the v3 patch with this flaw corrected. What surprises me a bit is the fact that the issue was caused by the 'git format-patch' command called with '--summary' argument. The dashes are included properly when the argument is not used. Does it make sense? Regards; Rostislav Lisovy ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v3] comedi: Humusoft MF634 and MF624 DAQ cards driver
Changes since v2: * Removed one unused constant * Corrected commit message Changes since v1: * Implemented all the small and big remarks pointed out by Hartley Sweeten, Dan Carpenter and Ian Abbott Rostislav Lisovy (1): comedi: Humusoft MF634 and MF624 DAQ cards driver drivers/staging/comedi/Kconfig | 6 + drivers/staging/comedi/comedidev.h | 1 + drivers/staging/comedi/drivers/Makefile | 1 + drivers/staging/comedi/drivers/mf6x4.c | 354 4 files changed, 362 insertions(+) create mode 100644 drivers/staging/comedi/drivers/mf6x4.c -- 1.8.3.2 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] Staging: comedi: amcc_s5933: "no space before tabs" coding style fixes.
Fixed a coding style issues. Signed-off-by: Michal Kwiatkowski --- drivers/staging/comedi/drivers/amcc_s5933.h |8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/staging/comedi/drivers/amcc_s5933.h b/drivers/staging/comedi/drivers/amcc_s5933.h index b810d5f..2ba7364 100644 --- a/drivers/staging/comedi/drivers/amcc_s5933.h +++ b/drivers/staging/comedi/drivers/amcc_s5933.h @@ -145,12 +145,12 @@ #define AINT_READ_COMPL0x8000 #define AINT_WRITE_COMPL 0x4000 -#define AINT_OMB_ENABLE0x1000 -#define AINT_OMB_SELECT0x0c00 +#define AINT_OMB_ENABLE0x1000 +#define AINT_OMB_SELECT0x0c00 #define AINT_OMB_BYTE 0x0300 -#define AINT_IMB_ENABLE0x0010 -#define AINT_IMB_SELECT0x000c +#define AINT_IMB_ENABLE0x0010 +#define AINT_IMB_SELECT0x000c #define AINT_IMB_BYTE 0x0003 /* these are bits from various different registers, needs cleanup XXX */ -- 1.7.9.5 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: status of echo staging driver?
Hi Greg, As David said, the echo cancellation module is widely used, and gives good service. We have had no reason to touch the code for a long time. The last thing I remember doing was to make a minor correction to filter gain, which avoided a distortion issue some people saw. That was in August 2008. I haven't heard any reports of problems since then. Regards, Steve On 01/10/2014 06:39 AM, David Rowe wrote: Hi Greg, Development as been completed, and AFAIK it works just fine for many people. Is there anything that needs to be done from your side to get it merged into the kernel? Apologies if I'm missing something in the development process. Cheers, David On Thu, 2014-01-09 at 11:13 -0800, Greg KH wrote: Hi Steve and David, It's been pointed out to me that there hasn't been any forward development on the echo driver in over a year now. Is development dead, and I should delete it, or are you planning on doing more work on it soon so that it can be merged out of the staging tree? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: status of echo staging driver?
On Fri, Jan 10, 2014 at 10:45:42AM +0800, Steve Underwood wrote: > Hi Greg, > > As David said, the echo cancellation module is widely used, and gives good > service. We have had no reason to touch the code for a long time. The last > thing I remember doing was to make a minor correction to filter gain, which > avoided a distortion issue some people saw. That was in August 2008. I > haven't heard any reports of problems since then. > > Regards, > Steve > > On 01/10/2014 06:39 AM, David Rowe wrote: > >Hi Greg, > > > >Development as been completed, and AFAIK it works just fine for many > >people. Is there anything that needs to be done from your side to get > >it merged into the kernel? Apologies if I'm missing something in the > >development process. What modules use this code, as it's really only a library. Is it out-of-tree drivers? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/1] staging: dgap: Fix build error
On Thursday, 9 January 2014, Greg KH wrote: > > On Thu, Jan 09, 2014 at 03:13:10PM +0530, Sachin Kamat wrote: > > Include the header file for kzalloc to fix the following build error: > > drivers/staging/dgap/dgap_fep5.c: In function ‘dgap_do_config_load’: > > drivers/staging/dgap/dgap_fep5.c:78:2: error: implicit declaration of > > function > > ‘kzalloc’ [-Werror=implicit-function-declaration] > > Please don't line-wrap error messages. Sorry for the inadvertent mistake. > Also, what platform shows this error, I don't see it here on x86, and I > have not gotten any build failure reports from the build system. I got this while building today's linux-next (20140109) for ARM on x86 machine. Regards, Sachin. ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: status of echo staging driver?
On Fri, Jan 10, 2014 at 11:26:52AM +0800, Steve Underwood wrote: > Hi Greg, > > On 01/10/2014 11:09 AM, Greg KH wrote: > > On Fri, Jan 10, 2014 at 10:45:42AM +0800, Steve Underwood wrote: > >> Hi Greg, > >> > >> As David said, the echo cancellation module is widely used, and gives good > >> service. We have had no reason to touch the code for a long time. The last > >> thing I remember doing was to make a minor correction to filter gain, which > >> avoided a distortion issue some people saw. That was in August 2008. I > >> haven't heard any reports of problems since then. > >> > >> Regards, > >> Steve > >> > >> On 01/10/2014 06:39 AM, David Rowe wrote: > >>> Hi Greg, > >>> > >>> Development as been completed, and AFAIK it works just fine for many > >>> people. Is there anything that needs to be done from your side to get > >>> it merged into the kernel? Apologies if I'm missing something in the > >>> development process. > > What modules use this code, as it's really only a library. Is it > > out-of-tree drivers? > > > > thanks, > > > > greg k-h > > > Out of tree drivers are the main users - in particular, the Digium > drivers for their Asterisk telephony cards, and the Sangoma drivers for > their Wanpipe telephony cards. It is an option for the mISDN drivers in > the kernel tree, but I don't know if that is directly an option of what > is in the tree, or if you need to apply any out of tree patches to hook > mISDN into the echo canceller. I don't see any in-kernel users of the oslec_* functions, is that how they hook into the module? > The main users being out of tree drivers is the reason there has not > been big pressure to get the canceller into the tree. However, that > doesn't mean it shouldn't be there. I agree, just wanting to figure out what is going on here. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] Staging: comedi: fix spacing coding style issue in 8255.c.
This patch for 8255.c fixes a spacing warning found by checkpatch.pl. Signed-off-by: Chase Southwood --- drivers/staging/comedi/drivers/8255.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/comedi/drivers/8255.c b/drivers/staging/comedi/drivers/8255.c index b4009e8..48817f0 100644 --- a/drivers/staging/comedi/drivers/8255.c +++ b/drivers/staging/comedi/drivers/8255.c @@ -94,7 +94,7 @@ I/O port base address can be found in the output of 'lspci -v'. struct subdev_8255_private { unsigned long iobase; - int (*io) (int, int, int, unsigned long); + int (*io)(int, int, int, unsigned long); }; static int subdev_8255_io(int dir, int port, int data, unsigned long iobase) @@ -262,7 +262,7 @@ static int subdev_8255_cancel(struct comedi_device *dev, } int subdev_8255_init(struct comedi_device *dev, struct comedi_subdevice *s, -int (*io) (int, int, int, unsigned long), +int (*io)(int, int, int, unsigned long), unsigned long iobase) { struct subdev_8255_private *spriv; @@ -289,7 +289,7 @@ int subdev_8255_init(struct comedi_device *dev, struct comedi_subdevice *s, EXPORT_SYMBOL_GPL(subdev_8255_init); int subdev_8255_init_irq(struct comedi_device *dev, struct comedi_subdevice *s, -int (*io) (int, int, int, unsigned long), +int (*io)(int, int, int, unsigned long), unsigned long iobase) { int ret; -- 1.8.4.2 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: 答复: status of sm7xfb staging driver?
On Fri, Jan 10, 2014 at 12:12:19PM +0800, Teddy.Wang 王力强 wrote: > Hello Greg, > > SM712/SM722 chip is phase out. So, should I just delete the driver if you aren't going to be able to do any future work on it? > But we plan to merge our new chip SM750 driver codes to the linux > tree? How can I do it? Thanks. Do you have a pointer to the driver source somewhere? We can add it to the staging tree if it needs work, but again, you are going to have to work toward merging it to the proper part of the kernel eventually, or it will be removed again. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/1] staging: dgap: Fix build error
On 10 January 2014 08:36, Sachin Kamat wrote: > On Thursday, 9 January 2014, Greg KH wrote: >> >> On Thu, Jan 09, 2014 at 03:13:10PM +0530, Sachin Kamat wrote: >> > Include the header file for kzalloc to fix the following build error: >> > drivers/staging/dgap/dgap_fep5.c: In function ‘dgap_do_config_load’: >> > drivers/staging/dgap/dgap_fep5.c:78:2: error: implicit declaration of >> > function >> > ‘kzalloc’ [-Werror=implicit-function-declaration] >> >> Please don't line-wrap error messages. > > Sorry for the inadvertent mistake. > > >> Also, what platform shows this error, I don't see it here on x86, and I >> have not gotten any build failure reports from the build system. > > I got this while building today's linux-next (20140109) for ARM on x86 > machine. This issue seems to have been fixed in 20140110 linux-next tree by a patch from Vincent (staging: dgap: fix missing header inclusion). Please drop my patch. Sorry for the noise. -- With warm regards, Sachin ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
答复: status of sm7xfb staging driver?
Hello Greg, SM712/SM722 chip is phase out. But we plan to merge our new chip SM750 driver codes to the linux tree? How can I do it? Thanks. Best Regards, Teddy Wang -邮件原件- 发件人: Greg KH [mailto:gre...@linuxfoundation.org] 发送时间: 2014年1月10日 3:13 收件人: Teddy.Wang 王力强 抄送: de...@driverdev.osuosl.org 主题: status of sm7xfb staging driver? Hi Teddy, It's been pointed out to me that there hasn't been any forward development on the sm7xxfb in over a year now. Is development dead, and I should delete it, or are you planning on doing more work on it soon so that it can be merged out of the staging tree? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel