Re: ks7010 firmware upload fail

2017-06-05 Thread Wolfram Sang
Tobin,

> My question is should I be digging further into the MMC code or be doing
> something else with the driver code?

So, you haven't found any branch that worked? No plain v4.9 or the
gen3-sdio branch from my tree?

Regards,

   Wolfram



signature.asc
Description: PGP signature
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH V2] staging: rt5208: Fix a sleep-in-atomic bug in xd_copy_page

2017-06-05 Thread Jia-Ju Bai
The driver may sleep under a spin lock, and the function call path is:
rtsx_exclusive_enter_ss (acquire the lock by spin_lock)
  rtsx_enter_ss
rtsx_power_off_card
  xd_cleanup_work
xd_delay_write
  xd_finish_write
xd_copy_page
  wait_timeout
schedule_timeout --> may sleep

To fix it, "wait_timeout" is replaced with mdelay in xd_copy_page.

Signed-off-by: Jia-Ju Bai 
---
V2:
* Add code explanation in this patch.

 drivers/staging/rts5208/xd.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/rts5208/xd.c b/drivers/staging/rts5208/xd.c
index 85aba05..74d36f9 100644
--- a/drivers/staging/rts5208/xd.c
+++ b/drivers/staging/rts5208/xd.c
@@ -1268,7 +1268,7 @@ static int xd_copy_page(struct rtsx_chip *chip, u32 
old_blk, u32 new_blk,
reg = 0;
rtsx_read_register(chip, XD_CTL, ®);
if (reg & (XD_ECC1_ERROR | XD_ECC2_ERROR)) {
-   wait_timeout(100);
+   mdelay(100);
 
if (detect_card_cd(chip,
   XD_CARD) != STATUS_SUCCESS) {
-- 
1.7.9.5


___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH V2] staging: rt5208: Fix a sleep-in-atomic bug in xd_copy_page

2017-06-05 Thread Jia-Ju Bai
The driver may sleep under a spin lock, and the function call path is:
rtsx_exclusive_enter_ss (acquire the lock by spin_lock)
  rtsx_enter_ss
rtsx_power_off_card
  xd_cleanup_work
xd_delay_write
  xd_finish_write
xd_copy_page
  wait_timeout
schedule_timeout --> may sleep

To fix it, "wait_timeout" is replaced with mdelay in xd_copy_page.

Signed-off-by: Jia-Ju Bai 
---
V2:
* Add code explanation in this patch.
---
 drivers/staging/rts5208/xd.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/rts5208/xd.c b/drivers/staging/rts5208/xd.c
index 85aba05..74d36f9 100644
--- a/drivers/staging/rts5208/xd.c
+++ b/drivers/staging/rts5208/xd.c
@@ -1268,7 +1268,7 @@ static int xd_copy_page(struct rtsx_chip *chip, u32 
old_blk, u32 new_blk,
reg = 0;
rtsx_read_register(chip, XD_CTL, ®);
if (reg & (XD_ECC1_ERROR | XD_ECC2_ERROR)) {
-   wait_timeout(100);
+   mdelay(100);
 
if (detect_card_cd(chip,
   XD_CARD) != STATUS_SUCCESS) {
-- 
1.7.9.5


___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH][V2] staging: rtl8723bs: fix a couple of spelling mistakes

2017-06-05 Thread Colin King
From: Colin Ian King 

Replace cant with cannot, argumetns with arguments and
add line break to overly long DBG_871X statement.

Signed-off-by: Colin Ian King 
---
 drivers/staging/rtl8723bs/hal/hal_com.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/rtl8723bs/hal/hal_com.c 
b/drivers/staging/rtl8723bs/hal/hal_com.c
index 1880d4140bee..e3a98322f475 100644
--- a/drivers/staging/rtl8723bs/hal/hal_com.c
+++ b/drivers/staging/rtl8723bs/hal/hal_com.c
@@ -26,7 +26,7 @@ u8 rtw_hal_data_init(struct adapter *padapter)
padapter->hal_data_sz = sizeof(struct hal_com_data);
padapter->HalData = vzalloc(padapter->hal_data_sz);
if (padapter->HalData == NULL) {
-   DBG_8192C("cant not alloc memory for HAL DATA\n");
+   DBG_8192C("cannot alloc memory for HAL DATA\n");
return _FAIL;
}
}
@@ -1415,7 +1415,8 @@ bool GetHexValueFromString(char *szStr, u32 *pu4bVal, u32 
*pu4bMove)
 
/*  Check input parameter. */
if (szStr == NULL || pu4bVal == NULL || pu4bMove == NULL) {
-   DBG_871X("GetHexValueFromString(): Invalid inpur argumetns! 
szStr: %p, pu4bVal: %p, pu4bMove: %p\n", szStr, pu4bVal, pu4bMove);
+   DBG_871X("GetHexValueFromString(): Invalid input arguments! 
szStr: %p, pu4bVal: %p, pu4bMove: %p\n",
+szStr, pu4bVal, pu4bMove);
return false;
}
 
-- 
2.11.0

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: ks7010 firmware upload fail

2017-06-05 Thread Tobin C. Harding
On Mon, Jun 05, 2017 at 09:22:12AM +0200, Wolfram Sang wrote:
> Tobin,
> 
> > My question is should I be digging further into the MMC code or be doing
> > something else with the driver code?
> 
> So, you haven't found any branch that worked? No plain v4.9 or the
> gen3-sdio branch from my tree?

I have not tried cloning your tree. I am using the Rasperry Pi kernel
source

https://github.com/raspberrypi/linux

which is v4.9.29

I checked out the last commit you made to the mainline then cross
compiled the driver from within the Rpi tree, copied the module over
to the Pi and insmod'd it.

To debug I was making code changes on my desktop, re cross compiling
the module and scp'ing it over (then rmmod'ing and insmod'ing the new module).

I'll try using a vanilla 4.9 kernel, and if that fails I'll try cloning your 
tree.

Thanks for getting back to me.

Will report my progress.

thanks,
Tobin.
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH v4 02/10] x86/hyper-v: stash the max number of virtual/logical processor

2017-06-05 Thread Steven Rostedt
On Sat, 27 May 2017 20:43:58 +0300
Andy Shevchenko  wrote:

> On Wed, May 24, 2017 at 3:03 PM, Vitaly Kuznetsov  wrote:
> > Max virtual processor will be needed for 'extended' hypercalls supporting
> > more than 64 vCPUs. While on it, unify on 'Hyper-V' in mshyperv.c as we
> > currently have a mix, report acquired misc features as well.
> >
> > Signed-off-by: Vitaly Kuznetsov 
> > Acked-by: K. Y. Srinivasan 
> > Tested-by: Simon Xiao 
> > Tested-by: Srikanth Myakam   
> 
> > +   u32 max_vp_index;
> > +   u32 max_lp_index;  
> 
> > +   pr_info("Hyper-V: max %d virtual processors, %d logical 
> > processors\n",
> > +   ms_hyperv.max_vp_index, ms_hyperv.max_lp_index);  
> 
> And surprisingly no-one from the above list did not get a warning?!

Begs to question how many other warnings are they ignoring?

-- Steve

> 
> %u, please.
> 

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH v4 02/10] x86/hyper-v: stash the max number of virtual/logical processor

2017-06-05 Thread Stephen Hemminger
On Mon, 5 Jun 2017 11:24:27 -0400
Steven Rostedt  wrote:

> On Sat, 27 May 2017 20:43:58 +0300
> Andy Shevchenko  wrote:
> 
> > On Wed, May 24, 2017 at 3:03 PM, Vitaly Kuznetsov  
> > wrote:  
> > > Max virtual processor will be needed for 'extended' hypercalls supporting
> > > more than 64 vCPUs. While on it, unify on 'Hyper-V' in mshyperv.c as we
> > > currently have a mix, report acquired misc features as well.
> > >
> > > Signed-off-by: Vitaly Kuznetsov 
> > > Acked-by: K. Y. Srinivasan 
> > > Tested-by: Simon Xiao 
> > > Tested-by: Srikanth Myakam 
> >   
> > > +   u32 max_vp_index;
> > > +   u32 max_lp_index;
> >   
> > > +   pr_info("Hyper-V: max %d virtual processors, %d logical 
> > > processors\n",
> > > +   ms_hyperv.max_vp_index, ms_hyperv.max_lp_index);
> > 
> > And surprisingly no-one from the above list did not get a warning?!  

Gcc 6.3 does not warn when %d is used on unsigned values.


> Begs to question how many other warnings are they ignoring?
None.
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH v4 10/10] tracing/hyper-v: trace hyperv_mmu_flush_tlb_others()

2017-06-05 Thread Steven Rostedt
On Wed, 24 May 2017 14:04:05 +0200
Vitaly Kuznetsov  wrote:

> Add Hyper-V tracing subsystem and trace hyperv_mmu_flush_tlb_others().
> Tracing is done the same way we do xen_mmu_flush_tlb_others().
> 
> Signed-off-by: Vitaly Kuznetsov 
> Acked-by: K. Y. Srinivasan 
> Tested-by: Simon Xiao 
> Tested-by: Srikanth Myakam 
> ---
>  MAINTAINERS |  1 +
>  arch/x86/hyperv/mmu.c   |  8 
>  arch/x86/include/asm/trace/hyperv.h | 34 ++
>  3 files changed, 43 insertions(+)
>  create mode 100644 arch/x86/include/asm/trace/hyperv.h
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 9e98464..045e10a 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -6168,6 +6168,7 @@ M:  Stephen Hemminger 
>  L:   de...@linuxdriverproject.org
>  S:   Maintained
>  F:   arch/x86/include/asm/mshyperv.h
> +F:   arch/x86/include/asm/trace/hyperv.h
>  F:   arch/x86/include/uapi/asm/hyperv.h
>  F:   arch/x86/kernel/cpu/mshyperv.c
>  F:   arch/x86/hyperv
> diff --git a/arch/x86/hyperv/mmu.c b/arch/x86/hyperv/mmu.c
> index c9cecb3..f6b5211 100644
> --- a/arch/x86/hyperv/mmu.c
> +++ b/arch/x86/hyperv/mmu.c
> @@ -6,6 +6,10 @@
>  #include 
>  #include 
>  #include 
> +#include 
> +
> +#define CREATE_TRACE_POINTS
> +DEFINE_TRACE(hyperv_mmu_flush_tlb_others);

The above looks very wrong. Why are you using "DEFINE_TRACE()" here?

The typical case is:

#define CREATE_TRACE_POINTS
#include 

Does your patch even work?

-- Steve


>  
>  /* HvFlushVirtualAddressSpace, HvFlushVirtualAddressList hypercalls */
>  struct hv_flush_pcpu {
> @@ -75,6 +79,8 @@ static void hyperv_flush_tlb_others(const struct cpumask 
> *cpus,
>   u64 status = -1ULL;
>   int cpu, vcpu, gva_n, max_gvas;
>  
> + trace_hyperv_mmu_flush_tlb_others(cpus, mm, start, end);
> +
>   if (!pcpu_flush || !hv_hypercall_pg)
>   goto do_native;
>  
> @@ -161,6 +167,8 @@ static void hyperv_flush_tlb_others_ex(const struct 
> cpumask *cpus,
>   u64 status = -1ULL;
>   int nr_bank = 0, max_gvas, gva_n;
>  
> + trace_hyperv_mmu_flush_tlb_others(cpus, mm, start, end);
> +
>   if (!pcpu_flush_ex || !hv_hypercall_pg)
>   goto do_native;
>  
> diff --git a/arch/x86/include/asm/trace/hyperv.h 
> b/arch/x86/include/asm/trace/hyperv.h
> new file mode 100644
> index 000..e46a351
> --- /dev/null
> +++ b/arch/x86/include/asm/trace/hyperv.h
> @@ -0,0 +1,34 @@
> +#undef TRACE_SYSTEM
> +#define TRACE_SYSTEM hyperv
> +
> +#if !defined(_TRACE_HYPERV_H) || defined(TRACE_HEADER_MULTI_READ)
> +#define _TRACE_HYPERV_H
> +
> +#include 
> +
> +#if IS_ENABLED(CONFIG_HYPERV)
> +
> +TRACE_EVENT(hyperv_mmu_flush_tlb_others,
> + TP_PROTO(const struct cpumask *cpus, struct mm_struct *mm,
> +  unsigned long addr, unsigned long end),
> + TP_ARGS(cpus, mm, addr, end),
> + TP_STRUCT__entry(
> + __field(unsigned int, ncpus)
> + __field(struct mm_struct *, mm)
> + __field(unsigned long, addr)
> + __field(unsigned long, end)
> + ),
> + TP_fast_assign(__entry->ncpus = cpumask_weight(cpus);
> +__entry->mm = mm;
> +__entry->addr = addr,
> +__entry->end = end),
> + TP_printk("ncpus %d mm %p addr %lx, end %lx",
> +   __entry->ncpus, __entry->mm, __entry->addr, __entry->end)
> + );
> +
> +#endif /* CONFIG_HYPERV */
> +
> +#endif /* _TRACE_HYPERV_H */
> +
> +/* This part must be outside protection */
> +#include 

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH v4 10/10] tracing/hyper-v: trace hyperv_mmu_flush_tlb_others()

2017-06-05 Thread Vitaly Kuznetsov
Steven Rostedt  writes:

> On Wed, 24 May 2017 14:04:05 +0200
> Vitaly Kuznetsov  wrote:
>
>> Add Hyper-V tracing subsystem and trace hyperv_mmu_flush_tlb_others().
>> Tracing is done the same way we do xen_mmu_flush_tlb_others().
>> 
>> Signed-off-by: Vitaly Kuznetsov 
>> Acked-by: K. Y. Srinivasan 
>> Tested-by: Simon Xiao 
>> Tested-by: Srikanth Myakam 
>> ---
>>  MAINTAINERS |  1 +
>>  arch/x86/hyperv/mmu.c   |  8 
>>  arch/x86/include/asm/trace/hyperv.h | 34 ++
>>  3 files changed, 43 insertions(+)
>>  create mode 100644 arch/x86/include/asm/trace/hyperv.h
>> 
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 9e98464..045e10a 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -6168,6 +6168,7 @@ M: Stephen Hemminger 
>>  L:  de...@linuxdriverproject.org
>>  S:  Maintained
>>  F:  arch/x86/include/asm/mshyperv.h
>> +F:  arch/x86/include/asm/trace/hyperv.h
>>  F:  arch/x86/include/uapi/asm/hyperv.h
>>  F:  arch/x86/kernel/cpu/mshyperv.c
>>  F:  arch/x86/hyperv
>> diff --git a/arch/x86/hyperv/mmu.c b/arch/x86/hyperv/mmu.c
>> index c9cecb3..f6b5211 100644
>> --- a/arch/x86/hyperv/mmu.c
>> +++ b/arch/x86/hyperv/mmu.c
>> @@ -6,6 +6,10 @@
>>  #include 
>>  #include 
>>  #include 
>> +#include 
>> +
>> +#define CREATE_TRACE_POINTS
>> +DEFINE_TRACE(hyperv_mmu_flush_tlb_others);
>
> The above looks very wrong. Why are you using "DEFINE_TRACE()" here?
>
> The typical case is:
>
> #define CREATE_TRACE_POINTS
> #include 
>

I probably got the idea wrong from Documentation/trace/tracepoints.txt:

"In subsys/file.c (where the tracing statement must be added) :

#include 

#define CREATE_TRACE_POINTS
DEFINE_TRACE(subsys_eventname);

void somefct(void)
{
...
trace_subsys_eventname(arg, task);
...
}
"

> Does your patch even work?
>

I'm pretty sure I tested tracing this even before sending v2 of this
series, I'll retest before sending v7.


> -- Steve
>
>>  
>>  /* HvFlushVirtualAddressSpace, HvFlushVirtualAddressList hypercalls */
>>  struct hv_flush_pcpu {
>> @@ -75,6 +79,8 @@ static void hyperv_flush_tlb_others(const struct cpumask 
>> *cpus,
>>  u64 status = -1ULL;
>>  int cpu, vcpu, gva_n, max_gvas;
>>  
>> +trace_hyperv_mmu_flush_tlb_others(cpus, mm, start, end);
>> +
>>  if (!pcpu_flush || !hv_hypercall_pg)
>>  goto do_native;
>>  
>> @@ -161,6 +167,8 @@ static void hyperv_flush_tlb_others_ex(const struct 
>> cpumask *cpus,
>>  u64 status = -1ULL;
>>  int nr_bank = 0, max_gvas, gva_n;
>>  
>> +trace_hyperv_mmu_flush_tlb_others(cpus, mm, start, end);
>> +
>>  if (!pcpu_flush_ex || !hv_hypercall_pg)
>>  goto do_native;
>>  
>> diff --git a/arch/x86/include/asm/trace/hyperv.h 
>> b/arch/x86/include/asm/trace/hyperv.h
>> new file mode 100644
>> index 000..e46a351
>> --- /dev/null
>> +++ b/arch/x86/include/asm/trace/hyperv.h
>> @@ -0,0 +1,34 @@
>> +#undef TRACE_SYSTEM
>> +#define TRACE_SYSTEM hyperv
>> +
>> +#if !defined(_TRACE_HYPERV_H) || defined(TRACE_HEADER_MULTI_READ)
>> +#define _TRACE_HYPERV_H
>> +
>> +#include 
>> +
>> +#if IS_ENABLED(CONFIG_HYPERV)
>> +
>> +TRACE_EVENT(hyperv_mmu_flush_tlb_others,
>> +TP_PROTO(const struct cpumask *cpus, struct mm_struct *mm,
>> + unsigned long addr, unsigned long end),
>> +TP_ARGS(cpus, mm, addr, end),
>> +TP_STRUCT__entry(
>> +__field(unsigned int, ncpus)
>> +__field(struct mm_struct *, mm)
>> +__field(unsigned long, addr)
>> +__field(unsigned long, end)
>> +),
>> +TP_fast_assign(__entry->ncpus = cpumask_weight(cpus);
>> +   __entry->mm = mm;
>> +   __entry->addr = addr,
>> +   __entry->end = end),
>> +TP_printk("ncpus %d mm %p addr %lx, end %lx",
>> +  __entry->ncpus, __entry->mm, __entry->addr, __entry->end)
>> +);
>> +
>> +#endif /* CONFIG_HYPERV */
>> +
>> +#endif /* _TRACE_HYPERV_H */
>> +
>> +/* This part must be outside protection */
>> +#include 

-- 
  Vitaly
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: Firmware for staging atomisp driver

2017-06-05 Thread Alan Cox
> I'm asking  because that is hard to believe given e.g. the recursion bug
> I've just fixed.

It was kind of working yes (with libxcam and a simple test tool). The
recursion one was my fault. I didn't mean that one to go upstream as I
was still debugging it. The older code handled it right until I moved the
test.

> Can someone provide step-by-step instructions for how to get this
> driver working?

Need to restore my backup to get the set up I had (I broke my memopad
somewhat with one of my tests and it ate it's disk).

But basically I was using

https://github.com/01org/libxcam/wiki/Tests

Alan
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 1/3] include: linux: visorbus: Add visorbus to include/linux directory

2017-06-05 Thread David Kershner
Update include/linux to include the s-Par drivers set's common header
files, which are  needed for the s-Par visorbus.

Since the include directories are now moved to include/linux/visorbus, this
patch makes all the s-Par drivers (visorbus, visorinput, visornic, and
visorhba) use the new include folder.

Signed-off-by: David Kershner 
Reviewed-by: Tim Sell 
---
 MAINTAINERS  | 1 +
 drivers/staging/unisys/visorbus/Makefile | 2 --
 drivers/staging/unisys/visorbus/controlvmchannel.h   | 2 +-
 drivers/staging/unisys/visorbus/vbuschannel.h| 2 +-
 drivers/staging/unisys/visorbus/visorbus_main.c  | 2 +-
 drivers/staging/unisys/visorbus/visorchannel.c   | 2 +-
 drivers/staging/unisys/visorbus/visorchipset.c   | 2 +-
 drivers/staging/unisys/visorhba/Makefile | 3 ---
 drivers/staging/unisys/visorhba/visorhba_main.c  | 4 ++--
 drivers/staging/unisys/visorinput/Makefile   | 2 --
 drivers/staging/unisys/visorinput/visorinput.c   | 2 +-
 drivers/staging/unisys/visornic/Makefile | 2 --
 drivers/staging/unisys/visornic/visornic_main.c  | 5 ++---
 {drivers/staging/unisys/include => include/linux/visorbus}/channel.h | 0
 .../staging/unisys/include => include/linux/visorbus}/iochannel.h| 2 +-
 .../staging/unisys/include => include/linux/visorbus}/visorbus.h | 3 +--
 16 files changed, 13 insertions(+), 23 deletions(-)
 rename {drivers/staging/unisys/include => include/linux/visorbus}/channel.h 
(100%)
 rename {drivers/staging/unisys/include => include/linux/visorbus}/iochannel.h 
(99%)
 rename {drivers/staging/unisys/include => include/linux/visorbus}/visorbus.h 
(99%)

diff --git a/MAINTAINERS b/MAINTAINERS
index 9e98464..0893d53 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13116,6 +13116,7 @@ M:  David Kershner 
 L: sparmaintai...@unisys.com (Unisys internal)
 S: Supported
 F: drivers/staging/unisys/
+F: include/linux/visorbus/
 
 UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER
 M: Vinayak Holikatti 
diff --git a/drivers/staging/unisys/visorbus/Makefile 
b/drivers/staging/unisys/visorbus/Makefile
index f3730d8..7f328cc 100644
--- a/drivers/staging/unisys/visorbus/Makefile
+++ b/drivers/staging/unisys/visorbus/Makefile
@@ -7,5 +7,3 @@ obj-$(CONFIG_UNISYS_VISORBUS)   += visorbus.o
 visorbus-y := visorbus_main.o
 visorbus-y += visorchannel.o
 visorbus-y += visorchipset.o
-
-ccflags-y += -Idrivers/staging/unisys/include
diff --git a/drivers/staging/unisys/visorbus/controlvmchannel.h 
b/drivers/staging/unisys/visorbus/controlvmchannel.h
index ed045ef..875603b 100644
--- a/drivers/staging/unisys/visorbus/controlvmchannel.h
+++ b/drivers/staging/unisys/visorbus/controlvmchannel.h
@@ -16,7 +16,7 @@
 #define __CONTROLVMCHANNEL_H__
 
 #include 
-#include "channel.h"
+#include 
 
 /* {2B3C2D10-7EF5-4ad8-B966-3448B7386B3D} */
 #define VISOR_CONTROLVM_CHANNEL_UUID \
diff --git a/drivers/staging/unisys/visorbus/vbuschannel.h 
b/drivers/staging/unisys/visorbus/vbuschannel.h
index 01d7d51..dd9df0a 100644
--- a/drivers/staging/unisys/visorbus/vbuschannel.h
+++ b/drivers/staging/unisys/visorbus/vbuschannel.h
@@ -24,7 +24,7 @@
  */
 #include 
 #include 
-#include "channel.h"
+#include 
 
 /* {193b331b-c58f-11da-95a9-00e08161165f} */
 #define VISOR_VBUS_CHANNEL_UUID \
diff --git a/drivers/staging/unisys/visorbus/visorbus_main.c 
b/drivers/staging/unisys/visorbus/visorbus_main.c
index 1c785dd..bf759e7 100644
--- a/drivers/staging/unisys/visorbus/visorbus_main.c
+++ b/drivers/staging/unisys/visorbus/visorbus_main.c
@@ -16,8 +16,8 @@
 
 #include 
 #include 
+#include 
 
-#include "visorbus.h"
 #include "visorbus_private.h"
 
 #define MYDRVNAME "visorbus"
diff --git a/drivers/staging/unisys/visorbus/visorchannel.c 
b/drivers/staging/unisys/visorbus/visorchannel.c
index 6885c2c..8c05af6 100644
--- a/drivers/staging/unisys/visorbus/visorchannel.c
+++ b/drivers/staging/unisys/visorbus/visorchannel.c
@@ -21,8 +21,8 @@
 
 #include 
 #include 
+#include 
 
-#include "visorbus.h"
 #include "visorbus_private.h"
 #include "controlvmchannel.h"
 
diff --git a/drivers/staging/unisys/visorbus/visorchipset.c 
b/drivers/staging/unisys/visorbus/visorchipset.c
index 2215056..1324849 100644
--- a/drivers/staging/unisys/visorbus/visorchipset.c
+++ b/drivers/staging/unisys/visorbus/visorchipset.c
@@ -22,8 +22,8 @@
 #include 
 #include 
 #include 
+#include 
 
-#include "visorbus.h"
 #include "visorbus_private.h"
 #include "vmcallinterface.h"
 
diff --git a/drivers/staging/unisys/visorhba/Makefile 
b/drivers/staging/unisys/visorhba/Makefile
index a8a8e0e..c321f6a 100644
--- a/drivers/staging/unisys/visorhba/Makefile
+++ b/drivers/staging/unisys/visorhba/Makefile
@@ -5,6 +5,3 @@
 obj-$(CONFIG_UNISYS_VISORHBA)  += visor

[PATCH 0/3] move visorbus out of staging to drivers/virt/visorbus

2017-06-05 Thread David Kershner
This patchset moves drivers/staging/unisys/include to
include/linux/visorbus, and moves drivers/staging/unisys/visorbus to
drivers/virt/visorbus.

David Kershner (3):
  include: linux: visorbus: Add visorbus to include/linux directory
  Documentation: Move visorbus documentation from staging to
Documentation/
  drivers: virt: Add visorbus to the drivers/virt directory

 .../ABI/stable/sysfs-bus-visorbus |  0
 .../Documentation/overview.txt => Documentation/visorbus.txt  |  0
 MAINTAINERS   |  4 
 drivers/staging/unisys/Kconfig|  1 -
 drivers/staging/unisys/Makefile   |  1 -
 drivers/staging/unisys/visorbus/Makefile  | 11 ---
 drivers/staging/unisys/visorhba/Makefile  |  3 ---
 drivers/staging/unisys/visorhba/visorhba_main.c   |  4 ++--
 drivers/staging/unisys/visorinput/Makefile|  2 --
 drivers/staging/unisys/visorinput/visorinput.c|  2 +-
 drivers/staging/unisys/visornic/Makefile  |  2 --
 drivers/staging/unisys/visornic/visornic_main.c   |  5 ++---
 drivers/virt/Kconfig  |  1 +
 drivers/virt/Makefile |  1 +
 drivers/{staging/unisys => virt}/visorbus/Kconfig |  2 +-
 drivers/virt/visorbus/Makefile|  9 +
 drivers/{staging/unisys => virt}/visorbus/controlvmchannel.h  |  2 +-
 drivers/{staging/unisys => virt}/visorbus/vbuschannel.h   |  2 +-
 drivers/{staging/unisys => virt}/visorbus/visorbus_main.c |  2 +-
 drivers/{staging/unisys => virt}/visorbus/visorbus_private.h  |  0
 drivers/{staging/unisys => virt}/visorbus/visorchannel.c  |  2 +-
 drivers/{staging/unisys => virt}/visorbus/visorchipset.c  |  2 +-
 drivers/{staging/unisys => virt}/visorbus/vmcallinterface.h   |  0
 .../unisys/include => include/linux/visorbus}/channel.h   |  0
 .../unisys/include => include/linux/visorbus}/iochannel.h |  2 +-
 .../unisys/include => include/linux/visorbus}/visorbus.h  |  3 +--
 26 files changed, 28 insertions(+), 35 deletions(-)
 rename drivers/staging/unisys/Documentation/ABI/sysfs-platform-visorchipset => 
Documentation/ABI/stable/sysfs-bus-visorbus (100%)
 rename drivers/staging/unisys/Documentation/overview.txt => 
Documentation/visorbus.txt (100%)
 delete mode 100644 drivers/staging/unisys/visorbus/Makefile
 rename drivers/{staging/unisys => virt}/visorbus/Kconfig (95%)
 create mode 100644 drivers/virt/visorbus/Makefile
 rename drivers/{staging/unisys => virt}/visorbus/controlvmchannel.h (99%)
 rename drivers/{staging/unisys => virt}/visorbus/vbuschannel.h (98%)
 rename drivers/{staging/unisys => virt}/visorbus/visorbus_main.c (99%)
 rename drivers/{staging/unisys => virt}/visorbus/visorbus_private.h (100%)
 rename drivers/{staging/unisys => virt}/visorbus/visorchannel.c (99%)
 rename drivers/{staging/unisys => virt}/visorbus/visorchipset.c (99%)
 rename drivers/{staging/unisys => virt}/visorbus/vmcallinterface.h (100%)
 rename {drivers/staging/unisys/include => include/linux/visorbus}/channel.h 
(100%)
 rename {drivers/staging/unisys/include => include/linux/visorbus}/iochannel.h 
(99%)
 rename {drivers/staging/unisys/include => include/linux/visorbus}/visorbus.h 
(99%)

-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 3/3] drivers: virt: Add visorbus to the drivers/virt directory

2017-06-05 Thread David Kershner
This patch moves visorbus from drivers/staging/visorbus to
drivers/virt.

Signed-off-by: David Kershner 
Reviewed-by: Tim Sell 
---
 MAINTAINERS  | 1 +
 drivers/staging/unisys/Kconfig   | 1 -
 drivers/staging/unisys/Makefile  | 1 -
 drivers/virt/Kconfig | 1 +
 drivers/virt/Makefile| 1 +
 drivers/{staging/unisys => virt}/visorbus/Kconfig| 2 +-
 drivers/{staging/unisys => virt}/visorbus/Makefile   | 0
 drivers/{staging/unisys => virt}/visorbus/controlvmchannel.h | 0
 drivers/{staging/unisys => virt}/visorbus/vbuschannel.h  | 0
 drivers/{staging/unisys => virt}/visorbus/visorbus_main.c| 0
 drivers/{staging/unisys => virt}/visorbus/visorbus_private.h | 0
 drivers/{staging/unisys => virt}/visorbus/visorchannel.c | 0
 drivers/{staging/unisys => virt}/visorbus/visorchipset.c | 0
 drivers/{staging/unisys => virt}/visorbus/vmcallinterface.h  | 0
 14 files changed, 4 insertions(+), 3 deletions(-)
 rename drivers/{staging/unisys => virt}/visorbus/Kconfig (95%)
 rename drivers/{staging/unisys => virt}/visorbus/Makefile (100%)
 rename drivers/{staging/unisys => virt}/visorbus/controlvmchannel.h (100%)
 rename drivers/{staging/unisys => virt}/visorbus/vbuschannel.h (100%)
 rename drivers/{staging/unisys => virt}/visorbus/visorbus_main.c (100%)
 rename drivers/{staging/unisys => virt}/visorbus/visorbus_private.h (100%)
 rename drivers/{staging/unisys => virt}/visorbus/visorchannel.c (100%)
 rename drivers/{staging/unisys => virt}/visorbus/visorchipset.c (100%)
 rename drivers/{staging/unisys => virt}/visorbus/vmcallinterface.h (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index 7a92b67..bfd3bb7 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13119,6 +13119,7 @@ F:  drivers/staging/unisys/
 F: include/linux/visorbus/
 F: Documentation/ABI/stable/sysfs-bus-visorbus
 F: Documentation/visorbus.txt
+F: drivers/virt/visorbus
 
 UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER
 M: Vinayak Holikatti 
diff --git a/drivers/staging/unisys/Kconfig b/drivers/staging/unisys/Kconfig
index 4f1f5e6..688b5e3 100644
--- a/drivers/staging/unisys/Kconfig
+++ b/drivers/staging/unisys/Kconfig
@@ -11,7 +11,6 @@ menuconfig UNISYSSPAR
 
 if UNISYSSPAR
 
-source "drivers/staging/unisys/visorbus/Kconfig"
 source "drivers/staging/unisys/visornic/Kconfig"
 source "drivers/staging/unisys/visorinput/Kconfig"
 source "drivers/staging/unisys/visorhba/Kconfig"
diff --git a/drivers/staging/unisys/Makefile b/drivers/staging/unisys/Makefile
index 20eb098..e45f44b 100644
--- a/drivers/staging/unisys/Makefile
+++ b/drivers/staging/unisys/Makefile
@@ -1,7 +1,6 @@
 #
 # Makefile for Unisys SPAR drivers
 #
-obj-$(CONFIG_UNISYS_VISORBUS)  += visorbus/
 obj-$(CONFIG_UNISYS_VISORNIC)  += visornic/
 obj-$(CONFIG_UNISYS_VISORINPUT)+= visorinput/
 obj-$(CONFIG_UNISYS_VISORHBA)  += visorhba/
diff --git a/drivers/virt/Kconfig b/drivers/virt/Kconfig
index 99ebdde..b13acff 100644
--- a/drivers/virt/Kconfig
+++ b/drivers/virt/Kconfig
@@ -30,4 +30,5 @@ config FSL_HV_MANAGER
   4) A kernel interface for receiving callbacks when a managed
 partition shuts down.
 
+source "drivers/virt/visorbus/Kconfig"
 endif
diff --git a/drivers/virt/Makefile b/drivers/virt/Makefile
index c47f04d..f3f49f6 100644
--- a/drivers/virt/Makefile
+++ b/drivers/virt/Makefile
@@ -3,3 +3,4 @@
 #
 
 obj-$(CONFIG_FSL_HV_MANAGER)   += fsl_hypervisor.o
+obj-$(CONFIG_UNISYS_VISORBUS)  += visorbus/
diff --git a/drivers/staging/unisys/visorbus/Kconfig 
b/drivers/virt/visorbus/Kconfig
similarity index 95%
rename from drivers/staging/unisys/visorbus/Kconfig
rename to drivers/virt/visorbus/Kconfig
index 5113880..49c1c75 100644
--- a/drivers/staging/unisys/visorbus/Kconfig
+++ b/drivers/virt/visorbus/Kconfig
@@ -4,7 +4,7 @@
 
 config UNISYS_VISORBUS
tristate "Unisys visorbus driver"
-   depends on UNISYSSPAR
+   depends on VIRT_DRIVERS
---help---
The visorbus driver is a virtualized bus for the Unisys s-Par firmware.
Virtualized devices allow Linux guests on a system to share disks and
diff --git a/drivers/staging/unisys/visorbus/Makefile 
b/drivers/virt/visorbus/Makefile
similarity index 100%
rename from drivers/staging/unisys/visorbus/Makefile
rename to drivers/virt/visorbus/Makefile
diff --git a/drivers/staging/unisys/visorbus/controlvmchannel.h 
b/drivers/virt/visorbus/controlvmchannel.h
similarity index 100%
rename from drivers/staging/unisys/visorbus/controlvmchannel.h
rename to drivers/virt/visorbus/controlvmchannel.h
diff --git a/drivers/staging/unisys/visorbus/vbuschannel.h 
b/drivers/virt/visorbus/vbuschannel.h
similarity index 100%
rename from drivers/staging/unisys/visorbus/vbuschannel.h
rename to drivers/virt/visorbus/vbuschannel.h
diff --git a/drivers/staging/unis

[PATCH 2/3] Documentation: Move visorbus documentation from staging to Documentation/

2017-06-05 Thread David Kershner
This patch simply does a git mv of the
drivers/staging/unisys/Documentation directory to Documentation. It also
renames overview.txt to visorbus.txt and renames sysfs-platform-visorchipset
to the correct name sysfs-bus-visorbus.

Signed-off-by: David Kershner 
Reviewed-by: Tim Sell 
---
 .../ABI/stable/sysfs-bus-visorbus   | 0
 .../unisys/Documentation/overview.txt => Documentation/visorbus.txt | 0
 MAINTAINERS | 2 ++
 3 files changed, 2 insertions(+)
 rename drivers/staging/unisys/Documentation/ABI/sysfs-platform-visorchipset => 
Documentation/ABI/stable/sysfs-bus-visorbus (100%)
 rename drivers/staging/unisys/Documentation/overview.txt => 
Documentation/visorbus.txt (100%)

diff --git 
a/drivers/staging/unisys/Documentation/ABI/sysfs-platform-visorchipset 
b/Documentation/ABI/stable/sysfs-bus-visorbus
similarity index 100%
rename from drivers/staging/unisys/Documentation/ABI/sysfs-platform-visorchipset
rename to Documentation/ABI/stable/sysfs-bus-visorbus
diff --git a/drivers/staging/unisys/Documentation/overview.txt 
b/Documentation/visorbus.txt
similarity index 100%
rename from drivers/staging/unisys/Documentation/overview.txt
rename to Documentation/visorbus.txt
diff --git a/MAINTAINERS b/MAINTAINERS
index 0893d53..7a92b67 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13117,6 +13117,8 @@ L:  sparmaintai...@unisys.com (Unisys internal)
 S: Supported
 F: drivers/staging/unisys/
 F: include/linux/visorbus/
+F: Documentation/ABI/stable/sysfs-bus-visorbus
+F: Documentation/visorbus.txt
 
 UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER
 M: Vinayak Holikatti 
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: ks7010 firmware upload fail

2017-06-05 Thread Brian Masney
On Mon, Jun 05, 2017 at 08:24:44PM +1000, Tobin C. Harding wrote:
> On Mon, Jun 05, 2017 at 09:22:12AM +0200, Wolfram Sang wrote:
> > Tobin,
> > 
> > > My question is should I be digging further into the MMC code or be doing
> > > something else with the driver code?
> > 
> > So, you haven't found any branch that worked? No plain v4.9 or the
> > gen3-sdio branch from my tree?
> 
> I have not tried cloning your tree. I am using the Rasperry Pi kernel
> source
> 
> https://github.com/raspberrypi/linux
> 
> which is v4.9.29

Hi Tobin,

Here are some instructions on how to compile an upstream kernel for a
Raspberry Pi: http://elinux.org/RPi_Upstream_Kernel_Compilation.
It describes setting up u-boot as the boot loader instead of the
boot loader that the Raspberry Pi kernel uses. One gotcha to be aware of
is that the config.txt file on the sd card won't be used.

Brian
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: ks7010 firmware upload fail

2017-06-05 Thread Tobin C. Harding
On Mon, Jun 05, 2017 at 08:07:40PM -0400, Brian Masney wrote:
> On Mon, Jun 05, 2017 at 08:24:44PM +1000, Tobin C. Harding wrote:
> > On Mon, Jun 05, 2017 at 09:22:12AM +0200, Wolfram Sang wrote:
> > > Tobin,
> > > 
> > > > My question is should I be digging further into the MMC code or be doing
> > > > something else with the driver code?
> > > 
> > > So, you haven't found any branch that worked? No plain v4.9 or the
> > > gen3-sdio branch from my tree?
> > 
> > I have not tried cloning your tree. I am using the Rasperry Pi kernel
> > source
> > 
> > https://github.com/raspberrypi/linux
> > 
> > which is v4.9.29
> 
> Hi Tobin,
> 
> Here are some instructions on how to compile an upstream kernel for a
> Raspberry Pi: http://elinux.org/RPi_Upstream_Kernel_Compilation.
> It describes setting up u-boot as the boot loader instead of the
> boot loader that the Raspberry Pi kernel uses. One gotcha to be aware of
> is that the config.txt file on the sd card won't be used.

Thanks Brian.
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 1/4] staging: speakup: add a missing blank line after declaration

2017-06-05 Thread Bo YU
Fixed checkpatch warning by adding a blank line after declare
expression

Signed-off-by: Bo YU 
---
 drivers/staging/speakup/serialio.c |1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/speakup/serialio.c 
b/drivers/staging/speakup/serialio.c
index 969373201356..8d2f7c672cc6 100644
--- a/drivers/staging/speakup/serialio.c
+++ b/drivers/staging/speakup/serialio.c
@@ -162,6 +162,7 @@ static void spk_serial_send_xchar(char ch)
 static void spk_serial_tiocmset(unsigned int set, unsigned int clear)
 {
int old = inb(speakup_info.port_tts + UART_MCR);
+
outb((old & ~clear) | set, speakup_info.port_tts + UART_MCR);
 }
 
-- 
1.7.10.4

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 0/4] staging: speakup: fix code style

2017-06-05 Thread Bo YU
As checkpatch.pl reported, i fixed these complaint one by one. Maybe
patch 04 depend on patch 02.

Thanks!

Bo YU (4):
  staging: speakup: add a missing blank line after declaration
  staging: speakup: add a space around '|'
  staging: speakup: in serialio.c no over 80 chars long
  staging: speakup: alignment match open parens

 drivers/staging/speakup/serialio.c |   11 +++
 1 file changed, 7 insertions(+), 4 deletions(-)

--
1.7.10.4

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 2/4] staging: speakup: add a space around '|'

2017-06-05 Thread Bo YU
Add a space around logical symbol '|' to wipe out checkpatch check

Signed-off-by: Bo YU 
---
 drivers/staging/speakup/serialio.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/speakup/serialio.c 
b/drivers/staging/speakup/serialio.c
index 8d2f7c672cc6..f38eb66943bf 100644
--- a/drivers/staging/speakup/serialio.c
+++ b/drivers/staging/speakup/serialio.c
@@ -138,7 +138,7 @@ static void start_serial_interrupt(int irq)
outb(UART_MCR_DTR | UART_MCR_RTS | UART_MCR_OUT2,
 speakup_info.port_tts + UART_MCR);
/* Turn on Interrupts */
-   outb(UART_IER_MSI|UART_IER_RLSI|UART_IER_RDI,
+   outb(UART_IER_MSI | UART_IER_RLSI | UART_IER_RDI,
speakup_info.port_tts + UART_IER);
inb(speakup_info.port_tts + UART_LSR);
inb(speakup_info.port_tts + UART_RX);
-- 
1.7.10.4

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 4/4] staging: speakup: alignment match open parens

2017-06-05 Thread Bo YU
I have aligned argument with parenthesis, so checkpatch no check also.

Signed-off-by: Bo YU 
---
 drivers/staging/speakup/serialio.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/speakup/serialio.c 
b/drivers/staging/speakup/serialio.c
index 00b25d3591d2..9cfc8142a318 100644
--- a/drivers/staging/speakup/serialio.c
+++ b/drivers/staging/speakup/serialio.c
@@ -139,7 +139,7 @@ static void start_serial_interrupt(int irq)
 speakup_info.port_tts + UART_MCR);
/* Turn on Interrupts */
outb(UART_IER_MSI | UART_IER_RLSI | UART_IER_RDI,
-   speakup_info.port_tts + UART_IER);
+speakup_info.port_tts + UART_IER);
inb(speakup_info.port_tts + UART_LSR);
inb(speakup_info.port_tts + UART_RX);
inb(speakup_info.port_tts + UART_IIR);
-- 
1.7.10.4

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 3/4] staging: speakup: in serialio.c no over 80 chars long

2017-06-05 Thread Bo YU
Fixed the checkpatch.pl warning:

WARNING: line over 80 characters

Signed-off-by: Bo YU 
---
 drivers/staging/speakup/serialio.c |6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/speakup/serialio.c 
b/drivers/staging/speakup/serialio.c
index f38eb66943bf..00b25d3591d2 100644
--- a/drivers/staging/speakup/serialio.c
+++ b/drivers/staging/speakup/serialio.c
@@ -228,7 +228,8 @@ int spk_wait_for_xmitr(struct spk_synth *in_synth)
}
while (spk_serial_tx_busy()) {
if (--tmout == 0) {
-   pr_warn("%s: timed out (tx busy)\n", 
in_synth->long_name);
+   pr_warn("%s: timed out (tx busy)\n",
+   in_synth->long_name);
timeouts++;
return 0;
}
@@ -285,7 +286,8 @@ static int spk_serial_out(struct spk_synth *in_synth, const 
char ch)
return 0;
 }
 
-const char *spk_serial_synth_immediate(struct spk_synth *synth, const char 
*buff)
+const char *spk_serial_synth_immediate(struct spk_synth *synth,
+  const char *buff)
 {
u_char ch;
 
-- 
1.7.10.4

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel