[PATCH 4/6] fix android/sync.h some coding style CHECK issues

2015-08-20 Thread Peng Sun
Signed-off-by: Peng Sun 
---
 drivers/staging/android/sync.h | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/android/sync.h b/drivers/staging/android/sync.h
index 61f8a3a..71fb800 100644
--- a/drivers/staging/android/sync.h
+++ b/drivers/staging/android/sync.h
@@ -94,12 +94,11 @@ struct sync_timeline {
const struct sync_timeline_ops  *ops;
charname[32];
 
-   /* protected by child_list_lock */
booldestroyed;
int context, value;
 
struct list_headchild_list_head;
-   spinlock_t  child_list_lock;
+   spinlock_t  child_list_lock; /* protected destroyed */
 
struct list_headactive_list_head;
 
@@ -351,6 +350,6 @@ void sync_dump(void);
 # define sync_dump()
 #endif
 int sync_fence_wake_up_wq(wait_queue_t *curr, unsigned mode,
-int wake_flags, void *key);
+ int wake_flags, void *key);
 
 #endif /* _LINUX_SYNC_H */
-- 
1.9.1

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


[PATCH 6/6] fix android/sw_sync.c some coding style CHECK issues

2015-08-20 Thread Peng Sun
Signed-off-by: Peng Sun 
---
 drivers/staging/android/sw_sync.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/android/sw_sync.c 
b/drivers/staging/android/sw_sync.c
index c90838d..29b5c35 100644
--- a/drivers/staging/android/sw_sync.c
+++ b/drivers/staging/android/sw_sync.c
@@ -145,7 +145,7 @@ static int sw_sync_open(struct inode *inode, struct file 
*file)
get_task_comm(task_comm, current);
 
obj = sw_sync_timeline_create(task_comm);
-   if (obj == NULL)
+   if (!obj)
return -ENOMEM;
 
file->private_data = obj;
@@ -179,14 +179,14 @@ static long sw_sync_ioctl_create_fence(struct 
sw_sync_timeline *obj,
}
 
pt = sw_sync_pt_create(obj, data.value);
-   if (pt == NULL) {
+   if (!pt) {
err = -ENOMEM;
goto err;
}
 
data.name[sizeof(data.name) - 1] = '\0';
fence = sync_fence_create(data.name, pt);
-   if (fence == NULL) {
+   if (!fence) {
sync_pt_free(pt);
err = -ENOMEM;
goto err;
-- 
1.9.1

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


[PATCH 1/6] fix android/ashmem.c several coding style

2015-08-20 Thread Peng Sun
Signed-off-by: Peng Sun 
---
 drivers/staging/android/ashmem.c | 15 ---
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/staging/android/ashmem.c b/drivers/staging/android/ashmem.c
index 60200a3..d786ec1 100644
--- a/drivers/staging/android/ashmem.c
+++ b/drivers/staging/android/ashmem.c
@@ -618,7 +618,8 @@ static int ashmem_pin(struct ashmem_area *asma, size_t 
pgstart, size_t pgend)
 
/* Case #3: We overlap from the rear, so adjust it */
if (range->pgend <= pgend) {
-   range_shrink(range, range->pgstart, pgstart-1);
+   range_shrink(range, range->pgstart,
+pgstart - 1);
continue;
}
 
@@ -715,7 +716,7 @@ static int ashmem_pin_unpin(struct ashmem_area *asma, 
unsigned long cmd,
if (unlikely((pin.offset | pin.len) & ~PAGE_MASK))
return -EINVAL;
 
-   if (unlikely(((__u32) -1) - pin.offset < pin.len))
+   if (unlikely(((__u32)-1) - pin.offset < pin.len))
return -EINVAL;
 
if (unlikely(PAGE_ALIGN(asma->size) < pin.offset + pin.len))
@@ -759,7 +760,7 @@ static long ashmem_ioctl(struct file *file, unsigned int 
cmd, unsigned long arg)
ret = -EINVAL;
if (!asma->file) {
ret = 0;
-   asma->size = (size_t) arg;
+   asma->size = (size_t)arg;
}
break;
case ASHMEM_GET_SIZE:
@@ -833,16 +834,16 @@ static int __init ashmem_init(void)
int ret;
 
ashmem_area_cachep = kmem_cache_create("ashmem_area_cache",
- sizeof(struct ashmem_area),
- 0, 0, NULL);
+  sizeof(struct ashmem_area),
+  0, 0, NULL);
if (unlikely(!ashmem_area_cachep)) {
pr_err("failed to create slab cache\n");
return -ENOMEM;
}
 
ashmem_range_cachep = kmem_cache_create("ashmem_range_cache",
- sizeof(struct ashmem_range),
- 0, 0, NULL);
+   sizeof(struct ashmem_range),
+   0, 0, NULL);
if (unlikely(!ashmem_range_cachep)) {
pr_err("failed to create slab cache\n");
return -ENOMEM;
-- 
1.9.1

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


[PATCH 2/6] fix android/lowmemorykiller.c several coding style

2015-08-20 Thread Peng Sun
Signed-off-by: Peng Sun 
---
 drivers/staging/android/lowmemorykiller.c | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/android/lowmemorykiller.c 
b/drivers/staging/android/lowmemorykiller.c
index 872bd60..3f1311f 100644
--- a/drivers/staging/android/lowmemorykiller.c
+++ b/drivers/staging/android/lowmemorykiller.c
@@ -42,13 +42,14 @@
 #include 
 #include 
 
-static uint32_t lowmem_debug_level = 1;
+static u32 lowmem_debug_level = 1;
 static short lowmem_adj[6] = {
0,
1,
6,
12,
 };
+
 static int lowmem_adj_size = 4;
 static int lowmem_minfree[6] = {
3 * 512,/* 6MB */
@@ -56,8 +57,8 @@ static int lowmem_minfree[6] = {
4 * 1024,   /* 16MB */
16 * 1024,  /* 64MB */
 };
-static int lowmem_minfree_size = 4;
 
+static int lowmem_minfree_size = 4;
 static unsigned long lowmem_deathpending_timeout;
 
 #define lowmem_print(level, x...)  \
@@ -104,8 +105,8 @@ static unsigned long lowmem_scan(struct shrinker *s, struct 
shrink_control *sc)
}
 
lowmem_print(3, "lowmem_scan %lu, %x, ofree %d %d, ma %hd\n",
-   sc->nr_to_scan, sc->gfp_mask, other_free,
-   other_file, min_score_adj);
+sc->nr_to_scan, sc->gfp_mask, other_free,
+other_file, min_score_adj);
 
if (min_score_adj == OOM_SCORE_ADJ_MAX + 1) {
lowmem_print(5, "lowmem_scan %lu, %x, return 0\n",
-- 
1.9.1

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


[PATCH 0/6] fix drivers/staging/android some coding style issues

2015-08-20 Thread Peng Sun

patches based on commit f0359ead9129821e4b3b5486e7837d3001a95574
linux-next next-20150820
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 5/6] fix android/timed_gpio.c some coding style CHECK issues

2015-08-20 Thread Peng Sun
Signed-off-by: Peng Sun 
---
 drivers/staging/android/timed_gpio.c | 15 ---
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/staging/android/timed_gpio.c 
b/drivers/staging/android/timed_gpio.c
index ce11726..33acbbe 100644
--- a/drivers/staging/android/timed_gpio.c
+++ b/drivers/staging/android/timed_gpio.c
@@ -25,11 +25,10 @@
 #include "timed_output.h"
 #include "timed_gpio.h"
 
-
 struct timed_gpio_data {
struct timed_output_dev dev;
struct hrtimer timer;
-   spinlock_t lock;
+   spinlock_t lock; /* protect structure fields */
unsigned gpio;
int max_timeout;
u8 active_low;
@@ -76,8 +75,9 @@ static void gpio_enable(struct timed_output_dev *dev, int 
value)
value = data->max_timeout;
 
hrtimer_start(&data->timer,
-   ktime_set(value / 1000, (value % 1000) * 100),
-   HRTIMER_MODE_REL);
+ ktime_set(value / 1000, (value % 1000) *
+   100),
+ HRTIMER_MODE_REL);
}
 
spin_unlock_irqrestore(&data->lock, flags);
@@ -94,8 +94,9 @@ static int timed_gpio_probe(struct platform_device *pdev)
return -EBUSY;
 
gpio_data = devm_kzalloc(&pdev->dev,
-   sizeof(struct timed_gpio_data) * pdata->num_gpios,
-   GFP_KERNEL);
+sizeof(struct timed_gpio_data) *
+pdata->num_gpios,
+GFP_KERNEL);
if (!gpio_data)
return -ENOMEM;
 
@@ -104,7 +105,7 @@ static int timed_gpio_probe(struct platform_device *pdev)
gpio_dat = &gpio_data[i];
 
hrtimer_init(&gpio_dat->timer, CLOCK_MONOTONIC,
-   HRTIMER_MODE_REL);
+HRTIMER_MODE_REL);
gpio_dat->timer.function = gpio_timer_func;
spin_lock_init(&gpio_dat->lock);
 
-- 
1.9.1

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


[PATCH 3/6] fix android/sync.c some coding style issues

2015-08-20 Thread Peng Sun
Signed-off-by: Peng Sun 
---
 drivers/staging/android/sync.c | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/drivers/staging/android/sync.c b/drivers/staging/android/sync.c
index f83e00c..e0c1acb 100644
--- a/drivers/staging/android/sync.c
+++ b/drivers/staging/android/sync.c
@@ -43,7 +43,7 @@ struct sync_timeline *sync_timeline_create(const struct 
sync_timeline_ops *ops,
return NULL;
 
obj = kzalloc(size, GFP_KERNEL);
-   if (obj == NULL)
+   if (!obj)
return NULL;
 
kref_init(&obj->kref);
@@ -130,7 +130,7 @@ struct sync_pt *sync_pt_create(struct sync_timeline *obj, 
int size)
return NULL;
 
pt = kzalloc(size, GFP_KERNEL);
-   if (pt == NULL)
+   if (!pt)
return NULL;
 
spin_lock_irqsave(&obj->child_list_lock, flags);
@@ -155,7 +155,7 @@ static struct sync_fence *sync_fence_alloc(int size, const 
char *name)
struct sync_fence *fence;
 
fence = kzalloc(size, GFP_KERNEL);
-   if (fence == NULL)
+   if (!fence)
return NULL;
 
fence->file = anon_inode_getfile("sync_fence", &sync_fence_fops,
@@ -193,7 +193,7 @@ struct sync_fence *sync_fence_create(const char *name, 
struct sync_pt *pt)
struct sync_fence *fence;
 
fence = sync_fence_alloc(offsetof(struct sync_fence, cbs[1]), name);
-   if (fence == NULL)
+   if (!fence)
return NULL;
 
fence->num_fences = 1;
@@ -215,7 +215,7 @@ struct sync_fence *sync_fence_fdget(int fd)
 {
struct file *file = fget(fd);
 
-   if (file == NULL)
+   if (!file)
return NULL;
 
if (file->f_op != &sync_fence_fops)
@@ -262,7 +262,7 @@ struct sync_fence *sync_fence_merge(const char *name,
unsigned long size = offsetof(struct sync_fence, cbs[num_fences]);
 
fence = sync_fence_alloc(size, name);
-   if (fence == NULL)
+   if (!fence)
return NULL;
 
atomic_set(&fence->status, num_fences);
@@ -313,7 +313,7 @@ struct sync_fence *sync_fence_merge(const char *name,
 EXPORT_SYMBOL(sync_fence_merge);
 
 int sync_fence_wake_up_wq(wait_queue_t *curr, unsigned mode,
-int wake_flags, void *key)
+ int wake_flags, void *key)
 {
struct sync_fence_waiter *wait;
 
@@ -353,7 +353,7 @@ int sync_fence_wait_async(struct sync_fence *fence,
 EXPORT_SYMBOL(sync_fence_wait_async);
 
 int sync_fence_cancel_async(struct sync_fence *fence,
-struct sync_fence_waiter *waiter)
+   struct sync_fence_waiter *waiter)
 {
unsigned long flags;
int ret = 0;
@@ -583,14 +583,14 @@ static long sync_fence_ioctl_merge(struct sync_fence 
*fence, unsigned long arg)
}
 
fence2 = sync_fence_fdget(data.fd2);
-   if (fence2 == NULL) {
+   if (!fence2) {
err = -ENOENT;
goto err_put_fd;
}
 
data.name[sizeof(data.name) - 1] = '\0';
fence3 = sync_fence_merge(data.name, fence, fence2);
-   if (fence3 == NULL) {
+   if (!fence3) {
err = -ENOMEM;
goto err_put_fence2;
}
@@ -666,7 +666,7 @@ static long sync_fence_ioctl_fence_info(struct sync_fence 
*fence,
size = 4096;
 
data = kzalloc(size, GFP_KERNEL);
-   if (data == NULL)
+   if (!data)
return -ENOMEM;
 
strlcpy(data->name, fence->name, sizeof(data->name));
-- 
1.9.1

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


Re: [PATCH 1/4] [media] staging: omap4iss: get entity ID using media_entity_id()

2015-08-20 Thread Javier Martinez Canillas
Hello Laurent,

On 08/21/2015 02:15 AM, Laurent Pinchart wrote:
> Hi Javier,
> 
> On Friday 21 August 2015 02:14:05 Javier Martinez Canillas wrote:
>> On 08/20/2015 08:37 PM, Laurent Pinchart wrote:
>>> On Wednesday 19 August 2015 17:35:19 Javier Martinez Canillas wrote:
 The struct media_entity does not have an .id field anymore since
 now the entity ID is stored in the embedded struct media_gobj.

 This caused the omap4iss driver fail to build. Fix by using the
 media_entity_id() macro to obtain the entity ID.

 Signed-off-by: Javier Martinez Canillas 
>>>
>>> This looks fine to me. The patch needs to be moved between Mauro's 1/8 and
>>> 2/8 patches to avoid breaking bisection with patch 3/8. I'd squash this
>>> patch and 2/4 into a single "media: Use media_entity_id() in drivers"
>>> patch.
>>
>> Yes, Hans and Mauro already mentioned it and I completely agree that
>> should be squashed with Mauro's patch to maintain git bisect-ability.
> 
> I wouldn't squash patches 1/4 and 2/4 into Mauro's 3/8 patch as Hans 
> proposed, 
> but instead squashing them together into a single patch and move the result 
> as 
> 1.5/8 in Mauro's series.
> 

I see. I don't mind either option tbh, I'm OK with whatever works better.

Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 1/4] [media] staging: omap4iss: get entity ID using media_entity_id()

2015-08-20 Thread Laurent Pinchart
Hi Javier,

On Friday 21 August 2015 02:14:05 Javier Martinez Canillas wrote:
> On 08/20/2015 08:37 PM, Laurent Pinchart wrote:
> > On Wednesday 19 August 2015 17:35:19 Javier Martinez Canillas wrote:
> >> The struct media_entity does not have an .id field anymore since
> >> now the entity ID is stored in the embedded struct media_gobj.
> >> 
> >> This caused the omap4iss driver fail to build. Fix by using the
> >> media_entity_id() macro to obtain the entity ID.
> >> 
> >> Signed-off-by: Javier Martinez Canillas 
> > 
> > This looks fine to me. The patch needs to be moved between Mauro's 1/8 and
> > 2/8 patches to avoid breaking bisection with patch 3/8. I'd squash this
> > patch and 2/4 into a single "media: Use media_entity_id() in drivers"
> > patch.
>
> Yes, Hans and Mauro already mentioned it and I completely agree that
> should be squashed with Mauro's patch to maintain git bisect-ability.

I wouldn't squash patches 1/4 and 2/4 into Mauro's 3/8 patch as Hans proposed, 
but instead squashing them together into a single patch and move the result as 
1.5/8 in Mauro's series.

-- 
Regards,

Laurent Pinchart

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


Re: [PATCH 1/4] [media] staging: omap4iss: get entity ID using media_entity_id()

2015-08-20 Thread Javier Martinez Canillas
Hello Laurent,

On 08/20/2015 08:37 PM, Laurent Pinchart wrote:
> Hi Javier,
> 
> Thank you for the patch.
> 
> On Wednesday 19 August 2015 17:35:19 Javier Martinez Canillas wrote:
>> The struct media_entity does not have an .id field anymore since
>> now the entity ID is stored in the embedded struct media_gobj.
>>
>> This caused the omap4iss driver fail to build. Fix by using the
>> media_entity_id() macro to obtain the entity ID.
>>
>> Signed-off-by: Javier Martinez Canillas 
> 
> This looks fine to me. The patch needs to be moved between Mauro's 1/8 and 
> 2/8 
> patches to avoid breaking bisection with patch 3/8. I'd squash this patch and 
> 2/4 into a single "media: Use media_entity_id() in drivers" patch.
> 

Yes, Hans and Mauro already mentioned it and I completely agree that
should be squashed with Mauro's patch to maintain git bisect-ability.

Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 00/18] Export SPI and OF module aliases in missing drivers

2015-08-20 Thread Javier Martinez Canillas
Hello Brian,

On 08/20/2015 11:11 PM, Brian Norris wrote:
> On Thu, Aug 20, 2015 at 09:07:13AM +0200, Javier Martinez Canillas wrote:
>> Patches #1 and #2 solves a), patches #3 to #8 solves b) and patches
> 
> ^^^ I'm dying to know how this sentence ends :)
>

Sigh, I did some last minute restructuring of the cover letter and
seems I missed a sentence. I meant to said:

"and patches #9 to #17 solves c)."
 
>> Patch #18 changes the logic of spi_uevent() to report an OF modalias if
>> the device was registered using OF. But this patch is included in the
>> series only as an RFC for illustration purposes since changing that
>> without first applying all the other patches in this series, will break
>> module autoloading for the drivers of devices registered using OF but
>> that lacks an of_match_table. I'll repost patch #18 once all the patches
>> in this series have landed.
> 
> On a more productive note, the patches I've looked at look good to me.
> The missing aliases are a problem enough that should be fixed (i.e.,
> part (b)). I'll leave the SPI framework changes to others to comment on.
>

Great, thanks a lot for your feedback.
 
> Brian
> 

Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 00/18] Export SPI and OF module aliases in missing drivers

2015-08-20 Thread Brian Norris
On Thu, Aug 20, 2015 at 09:07:13AM +0200, Javier Martinez Canillas wrote:
> Patches #1 and #2 solves a), patches #3 to #8 solves b) and patches

^^^ I'm dying to know how this sentence ends :)

> Patch #18 changes the logic of spi_uevent() to report an OF modalias if
> the device was registered using OF. But this patch is included in the
> series only as an RFC for illustration purposes since changing that
> without first applying all the other patches in this series, will break
> module autoloading for the drivers of devices registered using OF but
> that lacks an of_match_table. I'll repost patch #18 once all the patches
> in this series have landed.

On a more productive note, the patches I've looked at look good to me.
The missing aliases are a problem enough that should be fixed (i.e.,
part (b)). I'll leave the SPI framework changes to others to comment on.

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


Re: [PATCH v5 01/46] usb: gadget: encapsulate endpoint claiming mechanism

2015-08-20 Thread John Youn
On 8/20/2015 10:45 AM, Felipe Balbi wrote:
> Hi,
> 
> On Thu, Aug 20, 2015 at 07:16:48PM +0200, Robert Baldyga wrote:
>> On 08/20/2015 06:48 PM, Felipe Balbi wrote:
>>> On Thu, Aug 20, 2015 at 06:28:14PM +0200, Robert Baldyga wrote:
 Hi Felipe,

 On 08/20/2015 05:35 PM, Felipe Balbi wrote:
 [...]
> just letting you know that this regresses all gadget drivers making them
> try to disable previously disabled endpoints and enable previously
> enabled endpoints.
>
> I have a possible fix (see below) but then it shows a problem on the
> host side when using with g_zero (see further below):
>
> commit 3b8932100aacb6cfbffe288ca93025d8b8430c00
> Author: Felipe Balbi 
> Date:   Wed Aug 19 18:05:27 2015 -0500
>
> usb: gadget: fix ep->claimed lifetime
>
> In order to fix a regression introduced by commit
> cc476b42a39d ("usb: gadget: encapsulate endpoint
> claiming mechanism") we have to introduce a simple
> helper to check if a particular is enabled or not.
>
> After that, we need to move ep->claimed lifetime to
> usb_ep_enable() and usb_ep_disable() since those
> are the only functions which actually enable and
> disable endpoints.
>
> A follow-up patch will come to drop all driver_data
> checks from function drivers, since those are, now,
> pointless.
>
> Fixes: cc476b42a39d ("usb: gadget: encapsulate endpoint
>   claiming mechanism")
> Cc: Robert Baldyga 
> Signed-off-by: Felipe Balbi 
>
> diff --git a/drivers/usb/gadget/epautoconf.c 
> b/drivers/usb/gadget/epautoconf.c
> index 978435a51038..ad45070cd76f 100644
> --- a/drivers/usb/gadget/epautoconf.c
> +++ b/drivers/usb/gadget/epautoconf.c
> @@ -126,7 +126,6 @@ found_ep:
>   ep->address = desc->bEndpointAddress;
>   ep->desc = NULL;
>   ep->comp_desc = NULL;
> - ep->claimed = true;

 Removing this line causes autoconfig can return the same endpoint many
 times. This probably causes problems with g_zero.

 I will try to fix it ASAP.
>>>
>>> I was considering the same thing, but the lifetime of ->claimed doesn't
>>> look correct to me either way. Note that once the flag is enabled, it
>>> won't get disabled by most gadget drivers.
>>
>> And it should not be. This flag is indicator, that endpoint is used by some
>> function. It should be set once by usb_ep_autoconfig() and cleared by
>> usb_ep_autoconfig_reset().

And the 'claimed' flag should be used for the ep autoconfig
mechanism alone. We may want to reset it during the autoconfig
phase for multiple configs and alt-interfaces. So there should be
separate 'claimed' and 'enabled' flags.


> 
> have you considered switching interfaces and/or alternate settings ?

We ran into similar issues before with this very scenario. Handling
of set_config(0 or N), in both addressed and configured states, and
set_interface requests.


John

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


[GIT PULL] Staging driver patches for 4.3-rc1

2015-08-20 Thread Greg KH
The following changes since commit f7644cbfcdf03528f0f450f3940c4985b2291f49:

  Linux 4.2-rc6 (2015-08-09 15:54:30 -0400)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/ 
tags/staging-4.3-rc1

for you to fetch changes up to 415bcb5c6eff630967baa4e671cebe883d83ee79:

  staging/lustre/o2iblnd: remove references to ib_reg_phsy_mr() (2015-08-18 
19:53:41 -0700)


Staging driver patches for 4.3-rc1

Here is the big staging driver updates for 4.3-rc1.

Lots of things all over the place, almost all of them trivial fixups and
changes.  The usual IIO updates and new drivers and we have added the
MOST driver subsystem which is getting cleaned up in the tree.  The
ozwpan driver is finally being deleted as it is obviously abandoned and
no one cares about it.

Full details are in the shortlog, and all of these have been in
linux-next with no reported issues.

Signed-off-by: Greg Kroah-Hartman 


Aaron Ouellette (1):
  staging: sm750fb: removed extra parentheses

Abdul Hussain (5):
  Staging: comedi: dmm32at: Simplify a trivial if-return sequence
  Staging: comedi: fl512: Simplify a trivial if-return sequence
  Staging: comedi: dac02: Simplify a trivial if-return sequence
  Staging: comedi: ni_daq_dio24: Simplify a trivial if-return sequence
  Staging: comedi: s626: Simplify a trivial if-return sequence

Abhilash Jindal (1):
  staging: comedi: serial2002: Use monotonic clock

Adrian Remonda (4):
  Staging: most: mostcore/core.c. Fix "missing static keyword" warnings
  Staging: most: mostcore/core.c. Fix "Using plain integer as NULL pointer" 
warnings
  Staging: most: hdm-usb/hdm_usb.c. Fix "missing static keyword" warnings
  Staging: most: aim-cdev/cdev.c. Fix "missing static keyword" warnings

Adriana Reus (3):
  iio: Documentation: Add additional *scale_available attributes
  iio: inv-mpu: Export scale_available attributes
  iio: light: Add support for TXC PA12 als and proximity sensor

Aleksei Fedotov (1):
  staging: speakup: Fix warning reported by checkpatch

Alex Wilson (1):
  staging: panel: fix block comment usage

Ana Calinov (2):
  iio: accel: kxcjk-1013: Remove blank lines
  iio: frequency: adf4350: Delete blank line

Anatoly Stepanov (11):
  staging: sm750fb: replace spaces with tabs
  staging: sm750fb: remove trailing whitespaces
  staging: sm750fb: insert space between ')' and '{'
  staging: sm750fb: insert space before open parenthesis
  staging: sm750fb: fix indentation of pointer operator
  staging: sm750fb: put open brace on the previous line
  staging: sm750fb: fix indentation in 'else' statements
  staging: sm750fb: fix 'switch and case' indentation
  staging: sm750fb: remove assignment from if condition
  staging: sm750fb: fix open brace in function declaration
  staging: sm750fb: add required spaces around C operators

Anders Fridlund (2):
  staging:lustre: fix "space required after that ', '" error in cl_page.c
  Staging: sm750fb: ddk750_dvi.h: Fix brace coding style issue

Andrea Galbusera (1):
  iio: adc: mcp320x: Add support for mcp3301

Andreas Dannenberg (1):
  iio: light: add support for TI's opt3001 light sensor

Andrzej Hajda (1):
  staging/lustre: use kmemdup rather than duplicating its implementation

Antoine BLIN (1):
  staging: sm750fb: ddk750_power.c: Split lines over 80 characters.

Antonio Borneo (2):
  iio: ssp_sensors: Remove redundant spi driver bus initialization
  staging: mt29f_spinand: Remove redundant spi driver bus initialization

Arjun Krishna Babu (1):
  staging: vt6656: Fixed two lines over 80 characters long

Bastien Nocera (2):
  iio:accel:bmc150-accel: Move bmc150_accel_chip_init()
  iio:accel:bmc150-accel: Use the chip ID to detect sensor variant

Benjamin Romer (1):
  staging: unisys: fix copyright statements

Bernd Porr (2):
  staging/comedi/drivers/usbduxsigma.c: updated address details
  staging/comedi/drivers/usbduxsigma.c: added support for ehci drivers

BuĊ£iu Alexandru Octavian (1):
  drivers: staging: rtl8188eu Refactored rtw_free_assoc_resources

CHANG FU CHIAO (1):
  staging: ft1000: ft1000-usb: remove unnecessary out of memory warning

Chaehyun Lim (35):
  staging: wilc1000: wilc_wfi_netdevice.c: remove prohibited space before 
semicolon
  staging: wilc1000: wilc_wfi_netdevice.c: remove prohibited space
  staging: wilc1000: wilc_wfi_netdevice.c: remove braces for single 
statement block
  staging: wilc1000: wilc_wfi_netdevice.c: Insert blank line after 
declarations
  staging: wilc1000: wilc_wfi_netdevice.c: move statement after declarations
  staging: wilc1000: wilc_wfi_netdevice.c: remove commented codes
  staging: wilc1000: wilc_wfi_netdevice.c: remove unused cod

Re: [PATCH 1/4] [media] staging: omap4iss: get entity ID using media_entity_id()

2015-08-20 Thread Laurent Pinchart
Hi Javier,

Thank you for the patch.

On Wednesday 19 August 2015 17:35:19 Javier Martinez Canillas wrote:
> The struct media_entity does not have an .id field anymore since
> now the entity ID is stored in the embedded struct media_gobj.
> 
> This caused the omap4iss driver fail to build. Fix by using the
> media_entity_id() macro to obtain the entity ID.
> 
> Signed-off-by: Javier Martinez Canillas 

This looks fine to me. The patch needs to be moved between Mauro's 1/8 and 2/8 
patches to avoid breaking bisection with patch 3/8. I'd squash this patch and 
2/4 into a single "media: Use media_entity_id() in drivers" patch.

> ---
> 
>  drivers/staging/media/omap4iss/iss.c   | 2 +-
>  drivers/staging/media/omap4iss/iss_video.c | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/staging/media/omap4iss/iss.c
> b/drivers/staging/media/omap4iss/iss.c index f32ab7b98ae2..7226553ceb2f
> 100644
> --- a/drivers/staging/media/omap4iss/iss.c
> +++ b/drivers/staging/media/omap4iss/iss.c
> @@ -607,7 +607,7 @@ static int iss_pipeline_disable(struct iss_pipeline
> *pipe, * crashed. Mark it as such, the ISS will be reset when
>* applications will release it.
>*/
> - iss->crashed |= 1U << subdev->entity.id;
> + iss->crashed |= 1U << media_entity_id(&subdev->entity);
>   failure = -ETIMEDOUT;
>   }
>   }
> diff --git a/drivers/staging/media/omap4iss/iss_video.c
> b/drivers/staging/media/omap4iss/iss_video.c index
> bae67742706f..25e9e7a6b99d 100644
> --- a/drivers/staging/media/omap4iss/iss_video.c
> +++ b/drivers/staging/media/omap4iss/iss_video.c
> @@ -784,7 +784,7 @@ iss_video_streamon(struct file *file, void *fh, enum
> v4l2_buf_type type) entity = &video->video.entity;
>   media_entity_graph_walk_start(&graph, entity);
>   while ((entity = media_entity_graph_walk_next(&graph)))
> - pipe->entities |= 1 << entity->id;
> + pipe->entities |= 1 << media_entity_id(entity);
> 
>   /* Verify that the currently configured format matches the output of
>* the connected subdev.

-- 
Regards,

Laurent Pinchart

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


Re: [PATCH v5 01/46] usb: gadget: encapsulate endpoint claiming mechanism

2015-08-20 Thread Felipe Balbi
Hi,

On Thu, Aug 20, 2015 at 07:16:48PM +0200, Robert Baldyga wrote:
> On 08/20/2015 06:48 PM, Felipe Balbi wrote:
> >On Thu, Aug 20, 2015 at 06:28:14PM +0200, Robert Baldyga wrote:
> >>Hi Felipe,
> >>
> >>On 08/20/2015 05:35 PM, Felipe Balbi wrote:
> >>[...]
> >>>just letting you know that this regresses all gadget drivers making them
> >>>try to disable previously disabled endpoints and enable previously
> >>>enabled endpoints.
> >>>
> >>>I have a possible fix (see below) but then it shows a problem on the
> >>>host side when using with g_zero (see further below):
> >>>
> >>>commit 3b8932100aacb6cfbffe288ca93025d8b8430c00
> >>>Author: Felipe Balbi 
> >>>Date:   Wed Aug 19 18:05:27 2015 -0500
> >>>
> >>> usb: gadget: fix ep->claimed lifetime
> >>>
> >>> In order to fix a regression introduced by commit
> >>> cc476b42a39d ("usb: gadget: encapsulate endpoint
> >>> claiming mechanism") we have to introduce a simple
> >>> helper to check if a particular is enabled or not.
> >>>
> >>> After that, we need to move ep->claimed lifetime to
> >>> usb_ep_enable() and usb_ep_disable() since those
> >>> are the only functions which actually enable and
> >>> disable endpoints.
> >>>
> >>> A follow-up patch will come to drop all driver_data
> >>> checks from function drivers, since those are, now,
> >>> pointless.
> >>>
> >>> Fixes: cc476b42a39d ("usb: gadget: encapsulate endpoint
> >>>   claiming mechanism")
> >>> Cc: Robert Baldyga 
> >>> Signed-off-by: Felipe Balbi 
> >>>
> >>>diff --git a/drivers/usb/gadget/epautoconf.c 
> >>>b/drivers/usb/gadget/epautoconf.c
> >>>index 978435a51038..ad45070cd76f 100644
> >>>--- a/drivers/usb/gadget/epautoconf.c
> >>>+++ b/drivers/usb/gadget/epautoconf.c
> >>>@@ -126,7 +126,6 @@ found_ep:
> >>>   ep->address = desc->bEndpointAddress;
> >>>   ep->desc = NULL;
> >>>   ep->comp_desc = NULL;
> >>>-  ep->claimed = true;
> >>
> >>Removing this line causes autoconfig can return the same endpoint many
> >>times. This probably causes problems with g_zero.
> >>
> >>I will try to fix it ASAP.
> >
> >I was considering the same thing, but the lifetime of ->claimed doesn't
> >look correct to me either way. Note that once the flag is enabled, it
> >won't get disabled by most gadget drivers.
> 
> And it should not be. This flag is indicator, that endpoint is used by some
> function. It should be set once by usb_ep_autoconfig() and cleared by
> usb_ep_autoconfig_reset().

have you considered switching interfaces and/or alternate settings ?

> I wonder what is reason of this enable/disable regression. Maybe the problem
> is that we don't set ep->driver_data to NULL in usb_ep_autoconfig_reset()
> (so far it was done). Does this problem occur while gadget is binded to UDC
> for the first time, or at any next time? Unfortunately at this moment I
> don't have access to my hardware, so it will take a moment before I will
> setup some testing environment.

yeah, that's okay. We've got time.

-- 
balbi


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


Re: [PATCH v5 01/46] usb: gadget: encapsulate endpoint claiming mechanism

2015-08-20 Thread Robert Baldyga

On 08/20/2015 06:48 PM, Felipe Balbi wrote:

On Thu, Aug 20, 2015 at 06:28:14PM +0200, Robert Baldyga wrote:

Hi Felipe,

On 08/20/2015 05:35 PM, Felipe Balbi wrote:
[...]

just letting you know that this regresses all gadget drivers making them
try to disable previously disabled endpoints and enable previously
enabled endpoints.

I have a possible fix (see below) but then it shows a problem on the
host side when using with g_zero (see further below):

commit 3b8932100aacb6cfbffe288ca93025d8b8430c00
Author: Felipe Balbi 
Date:   Wed Aug 19 18:05:27 2015 -0500

 usb: gadget: fix ep->claimed lifetime

 In order to fix a regression introduced by commit
 cc476b42a39d ("usb: gadget: encapsulate endpoint
 claiming mechanism") we have to introduce a simple
 helper to check if a particular is enabled or not.

 After that, we need to move ep->claimed lifetime to
 usb_ep_enable() and usb_ep_disable() since those
 are the only functions which actually enable and
 disable endpoints.

 A follow-up patch will come to drop all driver_data
 checks from function drivers, since those are, now,
 pointless.

 Fixes: cc476b42a39d ("usb: gadget: encapsulate endpoint
claiming mechanism")
 Cc: Robert Baldyga 
 Signed-off-by: Felipe Balbi 

diff --git a/drivers/usb/gadget/epautoconf.c b/drivers/usb/gadget/epautoconf.c
index 978435a51038..ad45070cd76f 100644
--- a/drivers/usb/gadget/epautoconf.c
+++ b/drivers/usb/gadget/epautoconf.c
@@ -126,7 +126,6 @@ found_ep:
ep->address = desc->bEndpointAddress;
ep->desc = NULL;
ep->comp_desc = NULL;
-   ep->claimed = true;


Removing this line causes autoconfig can return the same endpoint many
times. This probably causes problems with g_zero.

I will try to fix it ASAP.


I was considering the same thing, but the lifetime of ->claimed doesn't
look correct to me either way. Note that once the flag is enabled, it
won't get disabled by most gadget drivers.


And it should not be. This flag is indicator, that endpoint is used by 
some function. It should be set once by usb_ep_autoconfig() and cleared 
by usb_ep_autoconfig_reset().


I wonder what is reason of this enable/disable regression. Maybe the 
problem is that we don't set ep->driver_data to NULL in 
usb_ep_autoconfig_reset() (so far it was done). Does this problem occur 
while gadget is binded to UDC for the first time, or at any next time? 
Unfortunately at this moment I don't have access to my hardware, so it 
will take a moment before I will setup some testing environment.


Thanks,
Robert

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


Re: [PATCH v5 01/46] usb: gadget: encapsulate endpoint claiming mechanism

2015-08-20 Thread Felipe Balbi
On Thu, Aug 20, 2015 at 06:28:14PM +0200, Robert Baldyga wrote:
> Hi Felipe,
> 
> On 08/20/2015 05:35 PM, Felipe Balbi wrote:
> [...]
> >just letting you know that this regresses all gadget drivers making them
> >try to disable previously disabled endpoints and enable previously
> >enabled endpoints.
> >
> >I have a possible fix (see below) but then it shows a problem on the
> >host side when using with g_zero (see further below):
> >
> >commit 3b8932100aacb6cfbffe288ca93025d8b8430c00
> >Author: Felipe Balbi 
> >Date:   Wed Aug 19 18:05:27 2015 -0500
> >
> > usb: gadget: fix ep->claimed lifetime
> >
> > In order to fix a regression introduced by commit
> > cc476b42a39d ("usb: gadget: encapsulate endpoint
> > claiming mechanism") we have to introduce a simple
> > helper to check if a particular is enabled or not.
> >
> > After that, we need to move ep->claimed lifetime to
> > usb_ep_enable() and usb_ep_disable() since those
> > are the only functions which actually enable and
> > disable endpoints.
> >
> > A follow-up patch will come to drop all driver_data
> > checks from function drivers, since those are, now,
> > pointless.
> >
> > Fixes: cc476b42a39d ("usb: gadget: encapsulate endpoint
> > claiming mechanism")
> > Cc: Robert Baldyga 
> > Signed-off-by: Felipe Balbi 
> >
> >diff --git a/drivers/usb/gadget/epautoconf.c 
> >b/drivers/usb/gadget/epautoconf.c
> >index 978435a51038..ad45070cd76f 100644
> >--- a/drivers/usb/gadget/epautoconf.c
> >+++ b/drivers/usb/gadget/epautoconf.c
> >@@ -126,7 +126,6 @@ found_ep:
> > ep->address = desc->bEndpointAddress;
> > ep->desc = NULL;
> > ep->comp_desc = NULL;
> >-ep->claimed = true;
> 
> Removing this line causes autoconfig can return the same endpoint many
> times. This probably causes problems with g_zero.
> 
> I will try to fix it ASAP.

I was considering the same thing, but the lifetime of ->claimed doesn't
look correct to me either way. Note that once the flag is enabled, it
won't get disabled by most gadget drivers.

-- 
balbi


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


Re: [PATCH v5 01/46] usb: gadget: encapsulate endpoint claiming mechanism

2015-08-20 Thread Robert Baldyga

Hi Felipe,

On 08/20/2015 05:35 PM, Felipe Balbi wrote:
[...]

just letting you know that this regresses all gadget drivers making them
try to disable previously disabled endpoints and enable previously
enabled endpoints.

I have a possible fix (see below) but then it shows a problem on the
host side when using with g_zero (see further below):

commit 3b8932100aacb6cfbffe288ca93025d8b8430c00
Author: Felipe Balbi 
Date:   Wed Aug 19 18:05:27 2015 -0500

 usb: gadget: fix ep->claimed lifetime

 In order to fix a regression introduced by commit
 cc476b42a39d ("usb: gadget: encapsulate endpoint
 claiming mechanism") we have to introduce a simple
 helper to check if a particular is enabled or not.

 After that, we need to move ep->claimed lifetime to
 usb_ep_enable() and usb_ep_disable() since those
 are the only functions which actually enable and
 disable endpoints.

 A follow-up patch will come to drop all driver_data
 checks from function drivers, since those are, now,
 pointless.

 Fixes: cc476b42a39d ("usb: gadget: encapsulate endpoint
claiming mechanism")
 Cc: Robert Baldyga 
 Signed-off-by: Felipe Balbi 

diff --git a/drivers/usb/gadget/epautoconf.c b/drivers/usb/gadget/epautoconf.c
index 978435a51038..ad45070cd76f 100644
--- a/drivers/usb/gadget/epautoconf.c
+++ b/drivers/usb/gadget/epautoconf.c
@@ -126,7 +126,6 @@ found_ep:
ep->address = desc->bEndpointAddress;
ep->desc = NULL;
ep->comp_desc = NULL;
-   ep->claimed = true;


Removing this line causes autoconfig can return the same endpoint many 
times. This probably causes problems with g_zero.


I will try to fix it ASAP.

Thanks,
Robert

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


Re: [PATCH v5 01/46] usb: gadget: encapsulate endpoint claiming mechanism

2015-08-20 Thread Felipe Balbi
Hi,

On Fri, Jul 31, 2015 at 04:00:13PM +0200, Robert Baldyga wrote:
> So far it was necessary for usb functions to set ep->driver_data in
> endpoint obtained from autoconfig to non-null value, to indicate that
> endpoint is claimed by function (in autoconfig it was checked if endpoint
> has set this field to non-null value, and if it has, it was assumed that
> it is claimed). It could cause bugs because if some function doesn't
> set this field autoconfig could return the same endpoint more than one
> time.
> 
> To help to avoid such bugs this patch adds claimed flag to struct usb_ep,
> and  encapsulates endpoint claiming mechanism inside usb_ep_autoconfig_ss()
> and usb_ep_autoconfig_reset(), so now usb functions don't need to perform
> any additional actions to mark endpoint obtained from autoconfig as claimed.
> 
> Signed-off-by: Robert Baldyga 

just letting you know that this regresses all gadget drivers making them
try to disable previously disabled endpoints and enable previously
enabled endpoints.

I have a possible fix (see below) but then it shows a problem on the
host side when using with g_zero (see further below):

commit 3b8932100aacb6cfbffe288ca93025d8b8430c00
Author: Felipe Balbi 
Date:   Wed Aug 19 18:05:27 2015 -0500

usb: gadget: fix ep->claimed lifetime

In order to fix a regression introduced by commit
cc476b42a39d ("usb: gadget: encapsulate endpoint
claiming mechanism") we have to introduce a simple
helper to check if a particular is enabled or not.

After that, we need to move ep->claimed lifetime to
usb_ep_enable() and usb_ep_disable() since those
are the only functions which actually enable and
disable endpoints.

A follow-up patch will come to drop all driver_data
checks from function drivers, since those are, now,
pointless.

Fixes: cc476b42a39d ("usb: gadget: encapsulate endpoint
claiming mechanism")
Cc: Robert Baldyga 
Signed-off-by: Felipe Balbi 

diff --git a/drivers/usb/gadget/epautoconf.c b/drivers/usb/gadget/epautoconf.c
index 978435a51038..ad45070cd76f 100644
--- a/drivers/usb/gadget/epautoconf.c
+++ b/drivers/usb/gadget/epautoconf.c
@@ -126,7 +126,6 @@ found_ep:
ep->address = desc->bEndpointAddress;
ep->desc = NULL;
ep->comp_desc = NULL;
-   ep->claimed = true;
return ep;
 }
 EXPORT_SYMBOL_GPL(usb_ep_autoconfig_ss);
@@ -182,11 +181,6 @@ EXPORT_SYMBOL_GPL(usb_ep_autoconfig);
  */
 void usb_ep_autoconfig_reset (struct usb_gadget *gadget)
 {
-   struct usb_ep   *ep;
-
-   list_for_each_entry (ep, &gadget->ep_list, ep_list) {
-   ep->claimed = false;
-   }
gadget->in_epnum = 0;
gadget->out_epnum = 0;
 }
diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h
index c14a69b36d27..9b3d60c1cf9f 100644
--- a/include/linux/usb/gadget.h
+++ b/include/linux/usb/gadget.h
@@ -243,6 +243,22 @@ static inline void usb_ep_set_maxpacket_limit(struct 
usb_ep *ep,
 }
 
 /**
+ * usb_ep_enabled - is endpoint enabled ?
+ * @ep: the endpoint being checked. may not be the endpoint named "ep0".
+ *
+ * Whenever a function driver wants to check if a particular endpoint is
+ * enabled or not, it must check using this helper function. This will
+ * encapsulate details about how the endpoint is checked, saving the function
+ * driver from using private methods for doing so.
+ *
+ * return true if endpoint is enabled, false otherwise.
+ */
+static inline bool usb_ep_enabled(struct usb_ep *ep)
+{
+   return ep->claimed;
+}
+
+/**
  * usb_ep_enable - configure endpoint, making it usable
  * @ep:the endpoint being configured.  may not be the endpoint named "ep0".
  * drivers discover endpoints through the ep_list of a usb_gadget.
@@ -264,7 +280,18 @@ static inline void usb_ep_set_maxpacket_limit(struct 
usb_ep *ep,
  */
 static inline int usb_ep_enable(struct usb_ep *ep)
 {
-   return ep->ops->enable(ep, ep->desc);
+   int ret;
+
+   if (usb_ep_enabled(ep))
+   return 0;
+
+   ret = ep->ops->enable(ep, ep->desc);
+   if (ret)
+   return ret;
+
+   ep->claimed = true;
+
+   return 0;
 }
 
 /**
@@ -281,7 +308,18 @@ static inline int usb_ep_enable(struct usb_ep *ep)
  */
 static inline int usb_ep_disable(struct usb_ep *ep)
 {
-   return ep->ops->disable(ep);
+   int ret;
+
+   if (!usb_ep_enabled(ep))
+   return 0;
+
+   ret = ep->ops->disable(ep);
+   if (ret)
+   return ret;
+
+   ep->claimed = false;
+
+   return 0;
 }
 
 /**



[   73.290345] WARNING: CPU: 0 PID: 300 at lib/kobject.c:240 
kobject_add_internal+0x25c/0x2d8()
[   73.299172] kobject_add_internal failed for ep_81 with -EEXIST, don't try to 
register things with the same name in the same directory.
[   73.311825] Modules linked in: usbtest usb_f_ss_lb g_zero libcomposite 
xhci_plat_hcd xhci_hcd usbcore joydev dwc3 udc_core usb_common m25p80 evdev 
spi_nor omapfb 

[PATCH] staging: fbtft: Removed a space before comma

2015-08-20 Thread Aparna Karuthodi
Removed a space before coma to remove a coding style error detected by
checkpatch.
The error is given below:
drivers/staging/fbtft/fb_ili9340.c:47: ERROR: space prohibited before
that ',' (ctx:WxW)

Signed-off-by: Aparna Karuthodi 
---
 drivers/staging/fbtft/fb_ili9340.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/fbtft/fb_ili9340.c 
b/drivers/staging/fbtft/fb_ili9340.c
index 985687d..5753f03 100644
--- a/drivers/staging/fbtft/fb_ili9340.c
+++ b/drivers/staging/fbtft/fb_ili9340.c
@@ -44,7 +44,7 @@ static int init_display(struct fbtft_par *par)
write_reg(par, 0xE8, 0x85 , 0x00 , 0x78);
write_reg(par, 0xCB, 0x39 , 0x2C , 0x00 , 0x34 , 0x02);
write_reg(par, 0xF7, 0x20);
-   write_reg(par, 0xEA, 0x00 , 0x00);
+   write_reg(par, 0xEA, 0x00, 0x00);
 
/* Power Control 1 */
write_reg(par, 0xC0, 0x23);
-- 
1.7.9.5

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


[PATCH] staging: fbtft: Removed a space

2015-08-20 Thread Aparna Karuthodi
Removed a space before parenthesis to remove a coding style error
detected by checkpatch.
The error is given below:
drivers/staging/fbtft/fb_bd663474.c:118: ERROR: space prohibited before
that close parenthesis ')'

Signed-off-by: Aparna Karuthodi 
---
 drivers/staging/fbtft/fb_bd663474.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/fbtft/fb_bd663474.c 
b/drivers/staging/fbtft/fb_bd663474.c
index 7e00c60..8619426 100644
--- a/drivers/staging/fbtft/fb_bd663474.c
+++ b/drivers/staging/fbtft/fb_bd663474.c
@@ -115,7 +115,7 @@ static int init_display(struct fbtft_par *par)
write_reg(par, 0x100, 0x7120 );
write_reg(par, 0x007, 0x0103 );
mdelay( 10 );
-   write_reg(par, 0x007, 0x0113 );
+   write_reg(par, 0x007, 0x0113);
 
return 0;
 }
-- 
1.7.9.5

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


Re: [PATCH 0/4] [media] Media entity cleanups and build fixes

2015-08-20 Thread Javier Martinez Canillas
Hello Hans,

On 08/20/2015 02:41 PM, Hans Verkuil wrote:
> On 08/19/15 17:35, Javier Martinez Canillas wrote:
>> Hello,
>>
>> This series contains a couple of build fixes and cleanups for the
>> Media Controller framework. The goal of the series is to get rid of
>> the struct media_entity .parent member since now that a media_gobj is
>> embedded into entities, the media_gobj .mdev member can be used to
>> store a pointer to the parent struct media_device.
>>
>> So the .parent field becomes redundant and can be removed after all
>> the users are converted to use entity .graph_obj.mdev instead.
>>
>> Patches 1/4 and 2/4 are build fixes I found while build testing if no
>> regressions were introduced by the conversion. Patch 3/4 converts
>> all the drivers and the MC core to use .mdev instead of .parent and
>> finally patch 4/4 removes the .parent field since now is unused.
> 
> Regarding patches 1 and 2: these should of course be merged with Mauro's
> patches that make this particular change (patch 3/8), otherwise it would
> break git bisect.
> 
> Anyway,
> 
> Acked-by: Hans Verkuil  for the changes in patch

Thanks a lot for the acks.

> 1 and 2, as long as they are added to Mauro's patch 3/8.
>

Indeed, I completely agree that these should be squashed with
Mauro's patch to maintain git bisect-ability.
 
> Regards,
> 
>   Hans
> 

Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 3/4] [media] media: use entity.graph_obj.mdev instead of .parent

2015-08-20 Thread Hans Verkuil
On 08/19/15 17:35, Javier Martinez Canillas wrote:
> The struct media_entity has a .parent field that stores a pointer
> to the parent struct media_device. But recently a media_gobj was
> embedded into the entities and since struct media_gojb already has
> a pointer to a struct media_device in the .mdev field, the .parent
> field becomes redundant and can be removed.
> 
> This patch replaces all the usage of .parent by .graph_obj.mdev so
> that field will become unused and can be removed on a later patch.
> 
> No functional changes.
> 
> The transformation was made using the following coccinelle spatch:
> 
> @@
> struct media_entity *me;
> @@
> 
> - me->parent
> + me->graph_obj.mdev
> 
> @@
> struct media_entity *link;
> @@
> 
> - link->source->entity->parent
> + link->source->entity->graph_obj.mdev
> 
> @@
> struct exynos_video_entity *ve;
> @@
> 
> - ve->vdev.entity.parent
> + ve->vdev.entity.graph_obj.mdev
> 
> Suggested-by: Mauro Carvalho Chehab 
> Signed-off-by: Javier Martinez Canillas 

Acked-by: Hans Verkuil 

Regards,

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


Re: [PATCH 0/4] [media] Media entity cleanups and build fixes

2015-08-20 Thread Hans Verkuil
On 08/19/15 17:35, Javier Martinez Canillas wrote:
> Hello,
> 
> This series contains a couple of build fixes and cleanups for the
> Media Controller framework. The goal of the series is to get rid of
> the struct media_entity .parent member since now that a media_gobj is
> embedded into entities, the media_gobj .mdev member can be used to
> store a pointer to the parent struct media_device.
> 
> So the .parent field becomes redundant and can be removed after all
> the users are converted to use entity .graph_obj.mdev instead.
> 
> Patches 1/4 and 2/4 are build fixes I found while build testing if no
> regressions were introduced by the conversion. Patch 3/4 converts
> all the drivers and the MC core to use .mdev instead of .parent and
> finally patch 4/4 removes the .parent field since now is unused.

Regarding patches 1 and 2: these should of course be merged with Mauro's
patches that make this particular change (patch 3/8), otherwise it would
break git bisect.

Anyway,

Acked-by: Hans Verkuil  for the changes in patch
1 and 2, as long as they are added to Mauro's patch 3/8.

Regards,

Hans

> 
> The series depend on Mauro's "[PATCH v6 0/8] MC preparation patches
> series" [0].
> 
> The transformation were automated using a coccinelle semantic patch
> and the drivers were build tested using allyesconfig and x-building
> the ARM Exynos and OMAP defconfigs + the needed media config options.
> 
> Best regards,
> Javier
> 
> [0]: http://www.mail-archive.com/linux-media@vger.kernel.org/msg91330.html
> 
> 
> Javier Martinez Canillas (4):
>   [media] staging: omap4iss: get entity ID using media_entity_id()
>   [media] omap3isp: get entity ID using media_entity_id()
>   [media] media: use entity.graph_obj.mdev instead of .parent
>   [media] media: remove media entity .parent field
> 
>  drivers/media/media-device.c   |  8 ++---
>  drivers/media/media-entity.c   | 34 
> --
>  drivers/media/platform/exynos4-is/fimc-isp-video.c |  6 ++--
>  drivers/media/platform/exynos4-is/fimc-lite.c  |  8 ++---
>  drivers/media/platform/exynos4-is/media-dev.c  |  2 +-
>  drivers/media/platform/exynos4-is/media-dev.h  |  8 ++---
>  drivers/media/platform/omap3isp/isp.c  | 11 ---
>  drivers/media/platform/omap3isp/ispccdc.c  |  2 +-
>  drivers/media/platform/omap3isp/ispvideo.c | 10 ---
>  drivers/media/platform/vsp1/vsp1_video.c   |  2 +-
>  drivers/media/platform/xilinx/xilinx-dma.c |  2 +-
>  drivers/staging/media/davinci_vpfe/vpfe_video.c|  6 ++--
>  drivers/staging/media/omap4iss/iss.c   |  6 ++--
>  drivers/staging/media/omap4iss/iss_video.c |  4 +--
>  include/media/media-entity.h   |  1 -
>  15 files changed, 58 insertions(+), 52 deletions(-)
> 
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH v3 1/4] i2c: tegra: implement slave mode

2015-08-20 Thread Andrey Danin

On 24.07.2015 13:52, Wolfram Sang wrote:



At the begin of my work on this patchset I even denied clock disable call if
slave is registered (to minimize code that can affect transfer).


I hacked something like this, but it seems it was not enough.


If only slave mode is used, then this logic is not needed.


This is not sufficent. We shouldn't break being a master only because we
also listen to a slave address (as long as the HW supports that of
course).


tegra_i2c_init is called on probe and resume. Also it is called in case of
xfer fail. If xfer is ok, then I think slave addr must be kept unchanged.


This is fragile. Try scanning the bus with i2cdetect and slave setup
will be gone.


As far as I understand it is a loopback mode. Probably it will not work
(Stephen Warren already mentioned this).


Just to make clear: I am not saying we should support talking to our own
slave address. But it should still be possible to communicate with other
remote devices on the bus.


Sorry for the long delay. I tried to analyze the issue. Attached patch 
works on AC100 (Misha Komarovsky helped me with testing).


Wolfram could you please try the patch with your environment?


Thanks.

>From 0927b4007786b19e51415c4900863dd4e74fa034 Mon Sep 17 00:00:00 2001
From: Andrey Danin 
Date: Thu, 20 Aug 2015 00:41:39 +0300
Subject: [PATCH] i2c: tegra: don't reset I2C slave address on init

Init function is called multuple times. If I2C controller works
in slave mode, then driver must keep slave registers otherwise
slave configuration will be reseted.

Signed-off-by: Andrey Danin 
---
 drivers/i2c/busses/i2c-tegra.c |   42 +--
 1 files changed, 27 insertions(+), 15 deletions(-)

diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
index 6467ce0..50250a1 100644
--- a/drivers/i2c/busses/i2c-tegra.c
+++ b/drivers/i2c/busses/i2c-tegra.c
@@ -402,6 +402,22 @@ static void tegra_dvc_init(struct tegra_i2c_dev *i2c_dev)
dvc_writel(i2c_dev, val, DVC_CTRL_REG1);
 }
 
+static int tegra_i2c_init_slave(struct tegra_i2c_dev *i2c_dev, u32 addr, u32 
flags)
+{
+   int addr2 = 0;
+
+   i2c_writel(i2c_dev, I2C_SL_CNFG_NEWSL, I2C_SL_CNFG);
+   i2c_writel(i2c_dev, I2C_SL_DELAY_COUNT_DEFAULT, I2C_SL_DELAY_COUNT);
+
+   if (flags & I2C_CLIENT_TEN)
+   addr2 = (addr >> 7) | I2C_SL_ADDR2_TEN_BIT_MODE;
+
+   i2c_writel(i2c_dev, addr, I2C_SL_ADDR1);
+   i2c_writel(i2c_dev, addr2, I2C_SL_ADDR2);
+
+   return 0;
+}
+
 static inline int tegra_i2c_clock_enable(struct tegra_i2c_dev *i2c_dev)
 {
int ret;
@@ -461,12 +477,16 @@ static int tegra_i2c_init(struct tegra_i2c_dev *i2c_dev)
i2c_writel(i2c_dev, clk_divisor, I2C_CLK_DIVISOR);
 
if (!i2c_dev->is_dvc) {
-   u32 sl_cfg = i2c_readl(i2c_dev, I2C_SL_CNFG);
-   sl_cfg |= I2C_SL_CNFG_NACK | I2C_SL_CNFG_NEWSL;
-   i2c_writel(i2c_dev, sl_cfg, I2C_SL_CNFG);
-   i2c_writel(i2c_dev, 0xfc, I2C_SL_ADDR1);
-   i2c_writel(i2c_dev, 0x00, I2C_SL_ADDR2);
-
+   if (i2c_dev->slave) {
+   tegra_i2c_init_slave(i2c_dev, i2c_dev->slave->addr,
+   i2c_dev->slave->flags);
+   } else {
+   u32 sl_cfg = i2c_readl(i2c_dev, I2C_SL_CNFG);
+   sl_cfg |= I2C_SL_CNFG_NACK | I2C_SL_CNFG_NEWSL;
+   i2c_writel(i2c_dev, sl_cfg, I2C_SL_CNFG);
+   i2c_writel(i2c_dev, 0xfc, I2C_SL_ADDR1);
+   i2c_writel(i2c_dev, 0x00, I2C_SL_ADDR2);
+   }
}
 
val = 7 << I2C_FIFO_CONTROL_TX_TRIG_SHIFT |
@@ -767,7 +787,6 @@ static u32 tegra_i2c_func(struct i2c_adapter *adap)
 static int tegra_reg_slave(struct i2c_client *slave)
 {
struct tegra_i2c_dev *i2c_dev = i2c_get_adapdata(slave->adapter);
-   int addr2 = 0;
 
if (i2c_dev->slave)
return -EBUSY;
@@ -776,14 +795,7 @@ static int tegra_reg_slave(struct i2c_client *slave)
 
tegra_i2c_clock_enable(i2c_dev);
 
-   i2c_writel(i2c_dev, I2C_SL_CNFG_NEWSL, I2C_SL_CNFG);
-   i2c_writel(i2c_dev, I2C_SL_DELAY_COUNT_DEFAULT, I2C_SL_DELAY_COUNT);
-
-   if (slave->flags & I2C_CLIENT_TEN)
-   addr2 = (slave->addr >> 7) | I2C_SL_ADDR2_TEN_BIT_MODE;
-
-   i2c_writel(i2c_dev, slave->addr, I2C_SL_ADDR1);
-   i2c_writel(i2c_dev, addr2, I2C_SL_ADDR2);
+   tegra_i2c_init_slave(i2c_dev, slave->addr, slave->flags);
 
return 0;
 }
-- 
1.7.1

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


[PATCH] staging: wilc1000: simplify 'memset' of 2D array

2015-08-20 Thread Gujulan Elango, Hari Prasath (H.)
From: Hari Prasath Gujulan Elango 

This patch simplifies the 'memset' done on a static 2D array.

Signed-off-by: Hari Prasath Gujulan Elango 
---
 drivers/staging/wilc1000/host_interface.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/wilc1000/host_interface.c 
b/drivers/staging/wilc1000/host_interface.c
index 66fa677..908156e 100644
--- a/drivers/staging/wilc1000/host_interface.c
+++ b/drivers/staging/wilc1000/host_interface.c
@@ -1492,8 +1492,7 @@ static s32 Handle_Connect(tstrWILC_WFIDrv *drvHandler, 
tstrHostIFconnectAttr *ps
PRINT_D(GENERIC_DBG, "Handling connect request\n");
 
#ifndef CONNECT_DIRECT
-   memset(gapu8RcvdSurveyResults[0], 0, MAX_SURVEY_RESULT_FRAG_SIZE);
-   memset(gapu8RcvdSurveyResults[1], 0, MAX_SURVEY_RESULT_FRAG_SIZE);
+   memset(gapu8RcvdSurveyResults, 0, sizeof(gapu8RcvdSurveyResults));
 
 
PRINT_D(HOSTINF_DBG, "Getting site survey results\n");
-- 
1.9.1
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH] staging:android: fix coding style issue

2015-08-20 Thread Dan Carpenter
The patch isn't sent correctly, your legal name is not snonez, there is
no patch description and it does too many things at once.

regards,
dan carpenter

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


[PATCH] staging:android: fix coding style issue

2015-08-20 Thread snonez

>From 16fb0b08e802ecee754ca609f7371694fd648e1b Mon Sep 17 00:00:00 2001
From: snonez 
Date: Thu, 20 Aug 2015 17:07:45 +0800
Subject: [PATCH] staging:android: fix coding style issue

Signed-off-by: snonez 
---
 drivers/staging/android/ashmem.c  | 15 ---
 drivers/staging/android/lowmemorykiller.c |  9 ++---
 drivers/staging/android/sw_sync.c |  6 +++---
 drivers/staging/android/sync.c| 22 +++---
 drivers/staging/android/sync.h|  5 ++---
 drivers/staging/android/timed_gpio.c  | 15 ---
 6 files changed, 38 insertions(+), 34 deletions(-)

diff --git a/drivers/staging/android/ashmem.c b/drivers/staging/android/ashmem.c
index 60200a3..d786ec1 100644
--- a/drivers/staging/android/ashmem.c
+++ b/drivers/staging/android/ashmem.c
@@ -618,7 +618,8 @@ static int ashmem_pin(struct ashmem_area *asma, size_t pgstart, size_t pgend)
 
 			/* Case #3: We overlap from the rear, so adjust it */
 			if (range->pgend <= pgend) {
-range_shrink(range, range->pgstart, pgstart-1);
+range_shrink(range, range->pgstart,
+	 pgstart - 1);
 continue;
 			}
 
@@ -715,7 +716,7 @@ static int ashmem_pin_unpin(struct ashmem_area *asma, unsigned long cmd,
 	if (unlikely((pin.offset | pin.len) & ~PAGE_MASK))
 		return -EINVAL;
 
-	if (unlikely(((__u32) -1) - pin.offset < pin.len))
+	if (unlikely(((__u32)-1) - pin.offset < pin.len))
 		return -EINVAL;
 
 	if (unlikely(PAGE_ALIGN(asma->size) < pin.offset + pin.len))
@@ -759,7 +760,7 @@ static long ashmem_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 		ret = -EINVAL;
 		if (!asma->file) {
 			ret = 0;
-			asma->size = (size_t) arg;
+			asma->size = (size_t)arg;
 		}
 		break;
 	case ASHMEM_GET_SIZE:
@@ -833,16 +834,16 @@ static int __init ashmem_init(void)
 	int ret;
 
 	ashmem_area_cachep = kmem_cache_create("ashmem_area_cache",
-	  sizeof(struct ashmem_area),
-	  0, 0, NULL);
+	   sizeof(struct ashmem_area),
+	   0, 0, NULL);
 	if (unlikely(!ashmem_area_cachep)) {
 		pr_err("failed to create slab cache\n");
 		return -ENOMEM;
 	}
 
 	ashmem_range_cachep = kmem_cache_create("ashmem_range_cache",
-	  sizeof(struct ashmem_range),
-	  0, 0, NULL);
+		sizeof(struct ashmem_range),
+		0, 0, NULL);
 	if (unlikely(!ashmem_range_cachep)) {
 		pr_err("failed to create slab cache\n");
 		return -ENOMEM;
diff --git a/drivers/staging/android/lowmemorykiller.c b/drivers/staging/android/lowmemorykiller.c
index 872bd60..72cd1b5 100644
--- a/drivers/staging/android/lowmemorykiller.c
+++ b/drivers/staging/android/lowmemorykiller.c
@@ -42,20 +42,23 @@
 #include 
 #include 
 
-static uint32_t lowmem_debug_level = 1;
+static u32 lowmem_debug_level = 1;
 static short lowmem_adj[6] = {
 	0,
 	1,
 	6,
 	12,
 };
+
 static int lowmem_adj_size = 4;
+
 static int lowmem_minfree[6] = {
 	3 * 512,	/* 6MB */
 	2 * 1024,	/* 8MB */
 	4 * 1024,	/* 16MB */
 	16 * 1024,	/* 64MB */
 };
+
 static int lowmem_minfree_size = 4;
 
 static unsigned long lowmem_deathpending_timeout;
@@ -104,8 +107,8 @@ static unsigned long lowmem_scan(struct shrinker *s, struct shrink_control *sc)
 	}
 
 	lowmem_print(3, "lowmem_scan %lu, %x, ofree %d %d, ma %hd\n",
-			sc->nr_to_scan, sc->gfp_mask, other_free,
-			other_file, min_score_adj);
+		 sc->nr_to_scan, sc->gfp_mask, other_free,
+		 other_file, min_score_adj);
 
 	if (min_score_adj == OOM_SCORE_ADJ_MAX + 1) {
 		lowmem_print(5, "lowmem_scan %lu, %x, return 0\n",
diff --git a/drivers/staging/android/sw_sync.c b/drivers/staging/android/sw_sync.c
index c90838d..29b5c35 100644
--- a/drivers/staging/android/sw_sync.c
+++ b/drivers/staging/android/sw_sync.c
@@ -145,7 +145,7 @@ static int sw_sync_open(struct inode *inode, struct file *file)
 	get_task_comm(task_comm, current);
 
 	obj = sw_sync_timeline_create(task_comm);
-	if (obj == NULL)
+	if (!obj)
 		return -ENOMEM;
 
 	file->private_data = obj;
@@ -179,14 +179,14 @@ static long sw_sync_ioctl_create_fence(struct sw_sync_timeline *obj,
 	}
 
 	pt = sw_sync_pt_create(obj, data.value);
-	if (pt == NULL) {
+	if (!pt) {
 		err = -ENOMEM;
 		goto err;
 	}
 
 	data.name[sizeof(data.name) - 1] = '\0';
 	fence = sync_fence_create(data.name, pt);
-	if (fence == NULL) {
+	if (!fence) {
 		sync_pt_free(pt);
 		err = -ENOMEM;
 		goto err;
diff --git a/drivers/staging/android/sync.c b/drivers/staging/android/sync.c
index f83e00c..e0c1acb 100644
--- a/drivers/staging/android/sync.c
+++ b/drivers/staging/android/sync.c
@@ -43,7 +43,7 @@ struct sync_timeline *sync_timeline_create(const struct sync_timeline_ops *ops,
 		return NULL;
 
 	obj = kzalloc(size, GFP_KERNEL);
-	if (obj == NULL)
+	if (!obj)
 		return NULL;
 
 	kref_init(&obj->kref);
@@ -130,7 +130,7 @@ struct sync_pt *sync_pt_create(struct sync_timeline *obj, int size)
 		return NULL;
 
 	pt = kzalloc(size, GFP_KERNEL);
-	if (pt == NULL)
+	if (!pt)
 		return NULL;
 
 	spin_lock_irqsave(&obj->child_list_lock, flags);
@@ -155,7 +155,7 @@ st

Re: [PATCH] staging: fsl-mc: Upgraded MC flibs used in MC bus driver

2015-08-20 Thread Dan Carpenter
On Wed, Aug 19, 2015 at 11:52:40AM -0500, J. German Rivera wrote:
> Since signatures of flib functions have changed, we had to
> change all the corresponding calls in the MC bus driver
> 

What does upgrade mean here?  I feel like this is the kind of patch we
reject without reading the patch because the description is too vague
and you can tell from the diff stats that it is going to be too huge to
review.

I looked at the first few lines and we are making a ball of changes.
Copyright notices, adding function parameters, renaming functions.  This
needs to be explained a lot better and probably split into multiple
patches.

Btw, the trees are closed for the next 3-4 weeks until after 4.3-rc2 is
released.

regards,
dan carpenter

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


[PATCH 3/5] staging: wilc1000: use id value as argument

2015-08-20 Thread Tony Cho
From: Johnny Kim 

The driver communicates with the chipset via the address of handlers
to distinguish async data frame. The SendConfigPkt function gets the
pointer address indicating the handlers as the last argument, but this
requires redundant typecasting and does not support the 64 bit machine.

This patch adds the function which assigns ID values instead of pointer
representing the driver handler to the address and then uses the ID
instead of pointer as the last argument of SendConfigPkt. The driver
also gets the handler's address from the ID in the data frame when it
receives them.

Signed-off-by: Johnny Kim 
Signed-off-by: Tony Cho 
---
 drivers/staging/wilc1000/host_interface.c | 241 +++---
 drivers/staging/wilc1000/host_interface.h |   1 +
 drivers/staging/wilc1000/wilc_wfi_netdevice.h |   1 -
 3 files changed, 176 insertions(+), 67 deletions(-)

diff --git a/drivers/staging/wilc1000/host_interface.c 
b/drivers/staging/wilc1000/host_interface.c
index 47e43cc..4b5e62a 100644
--- a/drivers/staging/wilc1000/host_interface.c
+++ b/drivers/staging/wilc1000/host_interface.c
@@ -531,8 +531,8 @@ typedef enum {
 /* Global Variabls 
 */
 /* 
 */
 /*/
-
-
+/* Zero is not used, because a zero ID means termination */
+static tstrWILC_WFIDrv *wfidrv_list[NUM_CONCURRENT_IFC + 1];
 tstrWILC_WFIDrv *terminated_handle;
 tstrWILC_WFIDrv *gWFiDrvHandle;
 #ifdef DISABLE_PWRSAVE_AND_SCAN_DURING_IP
@@ -592,6 +592,56 @@ static void *host_int_ParseJoinBssParam(tstrNetworkInfo 
*ptstrNetworkInfo);
 extern void chip_sleep_manually(u32 u32SleepTime);
 extern int linux_wlan_get_num_conn_ifcs(void);
 
+static int add_handler_in_list(tstrWILC_WFIDrv *handler)
+{
+   int i;
+
+   for (i = 1; i < ARRAY_SIZE(wfidrv_list); i++) {
+   if (!wfidrv_list[i]) {
+   wfidrv_list[i] = handler;
+   return 0;
+   }
+   }
+
+   return -ENOBUFS;
+}
+
+static int remove_handler_in_list(tstrWILC_WFIDrv *handler)
+{
+   int i;
+
+   for (i = 1; i < ARRAY_SIZE(wfidrv_list); i++) {
+   if (wfidrv_list[i] == handler) {
+   wfidrv_list[i] = NULL;
+   return 0;
+   }
+   }
+
+   return -EINVAL;
+}
+
+static int get_id_from_handler(tstrWILC_WFIDrv *handler)
+{
+   int i;
+
+   if (!handler)
+   return 0;
+
+   for (i = 1; i < ARRAY_SIZE(wfidrv_list); i++) {
+   if (wfidrv_list[i] == handler)
+   return i;
+   }
+
+   return 0;
+}
+
+static tstrWILC_WFIDrv *get_handler_from_id(int id)
+{
+   if (id <= 0 || id > ARRAY_SIZE(wfidrv_list))
+   return NULL;
+   return wfidrv_list[id];
+}
+
 /**
  *  @brief Handle_SetChannel
  *  @detailsSending config packet to firmware to set channel
@@ -616,7 +666,8 @@ static s32 Handle_SetChannel(tstrWILC_WFIDrv *drvHandler, 
tstrHostIFSetChan *pst
 
PRINT_D(HOSTINF_DBG, "Setting channel\n");
/*Sending Cfg*/
-   s32Error = SendConfigPkt(SET_CFG, &strWID, 1, true, (u32)pstrWFIDrv);
+   s32Error = SendConfigPkt(SET_CFG, &strWID, 1, true,
+get_id_from_handler(pstrWFIDrv));
if (s32Error) {
PRINT_ER("Failed to set channel\n");
WILC_ERRORREPORT(s32Error, WILC_INVALID_STATE);
@@ -654,8 +705,8 @@ static s32 Handle_SetWfiDrvHandler(tstrWILC_WFIDrv 
*drvHandler,
 
/*Sending Cfg*/
 
-   s32Error = SendConfigPkt(SET_CFG, &strWID, 1, true, (u32)pstrWFIDrv);
-
+   s32Error = SendConfigPkt(SET_CFG, &strWID, 1, true,
+pstrHostIfSetDrvHandler->u32Address);
 
if (pstrWFIDrv == NULL)
up(&hSemDeinitDrvHandle);
@@ -699,7 +750,8 @@ static s32 Handle_SetOperationMode(tstrWILC_WFIDrv 
*drvHandler, tstrHostIfSetOpe
/*Sending Cfg*/
PRINT_INFO(HOSTINF_DBG, "pstrWFIDrv= %p\n", pstrWFIDrv);
 
-   s32Error = SendConfigPkt(SET_CFG, &strWID, 1, true, (u32)pstrWFIDrv);
+   s32Error = SendConfigPkt(SET_CFG, &strWID, 1, true,
+get_id_from_handler(pstrWFIDrv));
 
 
if ((pstrHostIfSetOperationMode->u32Mode) == (u32)NULL)
@@ -748,8 +800,8 @@ s32 Handle_set_IPAddress(tstrWILC_WFIDrv *drvHandler, u8 
*pu8IPAddr, u8 idx)
strWID.ps8WidVal = (u8 *)pu8IPAddr;
strWID.s32ValueSize = IP_ALEN;
 
-   s32Error = SendConfigPkt(SET_CFG, &strWID, 1, true, (u32)pstrWFIDrv);
-
+   s32Error = SendConfigPkt(SET_CFG, &strWID, 1, true,
+get_id_from_handler(pstrWFIDrv));
 
 
host_int_ge

[PATCH 4/5] staging: wilc1000: change address to fixed value

2015-08-20 Thread Tony Cho
From: Johnny Kim 

The linux_wlan_init_test_config() is called once when net driver is loaded.
And because the pointer type of the pstrWFIDrv is changed with the interger
type, this patch replaces it with designated value instead of pointer.

Signed-off-by: Johnny Kim 
Signed-off-by: Tony Cho 
---
 drivers/staging/wilc1000/linux_wlan.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wilc1000/linux_wlan.c 
b/drivers/staging/wilc1000/linux_wlan.c
index b3cc9f5..4b2cba7 100644
--- a/drivers/staging/wilc1000/linux_wlan.c
+++ b/drivers/staging/wilc1000/linux_wlan.c
@@ -1052,7 +1052,7 @@ static int linux_wlan_init_test_config(struct net_device 
*dev, linux_wlan_t *p_n
goto _fail_;
}
 
-   *(int *)c_val = (u32)pstrWFIDrv;
+   *(int *)c_val = 1;
 
if (!g_linux_wlan->oup.wlan_cfg_set(1, WID_SET_DRV_HANDLER, c_val, 4, 
0, 0))
goto _fail_;
@@ -1291,7 +1291,7 @@ static int linux_wlan_init_test_config(struct net_device 
*dev, linux_wlan_t *p_n
goto _fail_;
 
c_val[0] = 1; /* Enable N with immediate block ack. */
-   if (!g_linux_wlan->oup.wlan_cfg_set(0, WID_11N_IMMEDIATE_BA_ENABLED, 
c_val, 1, 1, (u32)pstrWFIDrv))
+   if (!g_linux_wlan->oup.wlan_cfg_set(0, WID_11N_IMMEDIATE_BA_ENABLED, 
c_val, 1, 1, 1))
goto _fail_;
 
return 0;
-- 
1.9.1

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


[PATCH 5/5] staging: wilc1000: define undefined operation mode

2015-08-20 Thread Tony Cho
From: Johnny Kim 

This patch adds new define, IDLE_MODE to change comparison statement which
is wrong due to typecasting to null.

Signed-off-by: Johnny Kim 
Signed-off-by: Tony Cho 
---
 drivers/staging/wilc1000/host_interface.c | 2 +-
 drivers/staging/wilc1000/host_interface.h | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/wilc1000/host_interface.c 
b/drivers/staging/wilc1000/host_interface.c
index 4b5e62a..17ecad2 100644
--- a/drivers/staging/wilc1000/host_interface.c
+++ b/drivers/staging/wilc1000/host_interface.c
@@ -754,7 +754,7 @@ static s32 Handle_SetOperationMode(tstrWILC_WFIDrv 
*drvHandler, tstrHostIfSetOpe
 get_id_from_handler(pstrWFIDrv));
 
 
-   if ((pstrHostIfSetOperationMode->u32Mode) == (u32)NULL)
+   if ((pstrHostIfSetOperationMode->u32Mode) == IDLE_MODE)
up(&hSemDeinitDrvHandle);
 
 
diff --git a/drivers/staging/wilc1000/host_interface.h 
b/drivers/staging/wilc1000/host_interface.h
index 349d5f5..a107377 100644
--- a/drivers/staging/wilc1000/host_interface.h
+++ b/drivers/staging/wilc1000/host_interface.h
@@ -23,6 +23,7 @@
 #define BIT1((u32)(1 << 1))
 #define BIT0((u32)(1 << 0))
 
+#define IDLE_MODE  0x00
 #define AP_MODE0x01
 #define STATION_MODE   0x02
 #define GO_MODE0x03
-- 
1.9.1

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


[PATCH 2/5] staging: wilc1000: add an argument for Handle_SetWfiDrvHandler

2015-08-20 Thread Tony Cho
From: Johnny Kim 

Similar to functions of same layer, this patch add an argument for
Handle_SetWfiDrvHandler function. As a result, the redundant typecasting is
removed.

Signed-off-by: Johnny Kim 
Signed-off-by: Tony Cho 
---
 drivers/staging/wilc1000/host_interface.c | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/wilc1000/host_interface.c 
b/drivers/staging/wilc1000/host_interface.c
index 0913d18..47e43cc 100644
--- a/drivers/staging/wilc1000/host_interface.c
+++ b/drivers/staging/wilc1000/host_interface.c
@@ -637,12 +637,13 @@ static s32 Handle_SetChannel(tstrWILC_WFIDrv *drvHandler, 
tstrHostIFSetChan *pst
  *  @date
  *  @version   1.0
  */
-static s32 Handle_SetWfiDrvHandler(tstrHostIfSetDrvHandler 
*pstrHostIfSetDrvHandler)
+static s32 Handle_SetWfiDrvHandler(tstrWILC_WFIDrv *drvHandler,
+  tstrHostIfSetDrvHandler 
*pstrHostIfSetDrvHandler)
 {
 
s32 s32Error = WILC_SUCCESS;
tstrWID strWID;
-   tstrWILC_WFIDrv *pstrWFIDrv = (tstrWILC_WFIDrv 
*)((pstrHostIfSetDrvHandler->u32Address));
+   tstrWILC_WFIDrv *pstrWFIDrv = drvHandler;
 
 
/*prepare configuration packet*/
@@ -656,7 +657,7 @@ static s32 Handle_SetWfiDrvHandler(tstrHostIfSetDrvHandler 
*pstrHostIfSetDrvHand
s32Error = SendConfigPkt(SET_CFG, &strWID, 1, true, (u32)pstrWFIDrv);
 
 
-   if ((pstrHostIfSetDrvHandler->u32Address) == (u32)NULL)
+   if (pstrWFIDrv == NULL)
up(&hSemDeinitDrvHandle);
 
 
@@ -4474,7 +4475,8 @@ static int hostIFthread(void *pvArg)
break;
 
case HOST_IF_MSG_SET_WFIDRV_HANDLER:
-   
Handle_SetWfiDrvHandler(&strHostIFmsg.uniHostIFmsgBody.strHostIfSetDrvHandler);
+   Handle_SetWfiDrvHandler(strHostIFmsg.drvHandler,
+   
&strHostIFmsg.uniHostIFmsgBody.strHostIfSetDrvHandler);
break;
 
case HOST_IF_MSG_SET_OPERATION_MODE:
@@ -5819,7 +5821,7 @@ s32 host_int_set_wfi_drv_handler(tstrWILC_WFIDrv 
*u32address)
memset(&strHostIFmsg, 0, sizeof(tstrHostIFmsg));
strHostIFmsg.u16MsgId = HOST_IF_MSG_SET_WFIDRV_HANDLER;
strHostIFmsg.uniHostIFmsgBody.strHostIfSetDrvHandler.u32Address = 
u32address;
-   /* strHostIFmsg.drvHandler=hWFIDrv; */
+   strHostIFmsg.drvHandler = u32address;
 
s32Error = WILC_MsgQueueSend(&gMsgQHostIF, &strHostIFmsg, 
sizeof(tstrHostIFmsg));
if (s32Error)
-- 
1.9.1

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


[PATCH 1/5] staging: wilc1000: use the real data type

2015-08-20 Thread Tony Cho
From: Johnny Kim 

This patch changes the type of gu8FlushedJoinReqDrvHandler with his real
data type becasue typecasting is not necessary. In result, typecasting
which is not necessary and some building warnings is removed.

Signed-off-by: Johnny Kim 
Signed-off-by: Tony Cho 
---
 drivers/staging/wilc1000/host_interface.c | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/wilc1000/host_interface.c 
b/drivers/staging/wilc1000/host_interface.c
index 66fa677..0913d18 100644
--- a/drivers/staging/wilc1000/host_interface.c
+++ b/drivers/staging/wilc1000/host_interface.c
@@ -578,7 +578,7 @@ u8 gu8Flushed11iMode;
 u8 gu8FlushedAuthType;
 u32 gu32FlushedJoinReqSize;
 u32 gu32FlushedInfoElemAsocSize;
-u32 gu8FlushedJoinReqDrvHandler;
+tstrWILC_WFIDrv *gu8FlushedJoinReqDrvHandler;
 #define REAL_JOIN_REQ 0
 #define FLUSHED_JOIN_REQ 1
 #define FLUSHED_BYTE_POS 79 /* Position the byte indicating flushing in 
the flushed request */
@@ -1940,7 +1940,7 @@ static s32 Handle_Connect(tstrWILC_WFIDrv *drvHandler, 
tstrHostIFconnectAttr *ps
/*BugID_5137*/
if (memcmp("DIRECT-", pstrHostIFconnectAttr->pu8ssid, 7)) {
memcpy(gu8FlushedJoinReq, pu8CurrByte, gu32FlushedJoinReqSize);
-   gu8FlushedJoinReqDrvHandler = (u32)pstrWFIDrv;
+   gu8FlushedJoinReqDrvHandler = pstrWFIDrv;
}
 
PRINT_D(GENERIC_DBG, "send HOST_IF_WAITING_CONN_RESP\n");
@@ -2191,11 +2191,11 @@ static s32 Handle_ConnectTimeout(tstrWILC_WFIDrv 
*drvHandler)
memset(u8ConnectedSSID, 0, ETH_ALEN);
/*BugID_5213*/
/*Freeing flushed join request params on connect timeout*/
-   if (gu8FlushedJoinReq != NULL && gu8FlushedJoinReqDrvHandler == 
(u32)drvHandler) {
+   if (gu8FlushedJoinReq != NULL && gu8FlushedJoinReqDrvHandler == 
drvHandler) {
kfree(gu8FlushedJoinReq);
gu8FlushedJoinReq = NULL;
}
-   if (gu8FlushedInfoElemAsoc != NULL && gu8FlushedJoinReqDrvHandler == 
(u32)drvHandler) {
+   if (gu8FlushedInfoElemAsoc != NULL && gu8FlushedJoinReqDrvHandler == 
drvHandler) {
kfree(gu8FlushedInfoElemAsoc);
gu8FlushedInfoElemAsoc = NULL;
}
@@ -2617,11 +2617,11 @@ static s32 Handle_RcvdGnrlAsyncInfo(tstrWILC_WFIDrv 
*drvHandler, tstrRcvdGnrlAsy
/*BugID_5213*/
/*Freeing flushed join request params on receiving*/
/*MAC_DISCONNECTED while connected*/
-   if (gu8FlushedJoinReq != NULL && 
gu8FlushedJoinReqDrvHandler == (u32)drvHandler) {
+   if (gu8FlushedJoinReq != NULL && 
gu8FlushedJoinReqDrvHandler == drvHandler) {
kfree(gu8FlushedJoinReq);
gu8FlushedJoinReq = NULL;
}
-   if (gu8FlushedInfoElemAsoc != NULL && 
gu8FlushedJoinReqDrvHandler == (u32)drvHandler) {
+   if (gu8FlushedInfoElemAsoc != NULL && 
gu8FlushedJoinReqDrvHandler == drvHandler) {
kfree(gu8FlushedInfoElemAsoc);
gu8FlushedInfoElemAsoc = NULL;
}
@@ -3117,11 +3117,11 @@ static void Handle_Disconnect(tstrWILC_WFIDrv 
*drvHandler)
 
 
/*BugID_5137*/
-   if (gu8FlushedJoinReq != NULL && gu8FlushedJoinReqDrvHandler == 
(u32)drvHandler) {
+   if (gu8FlushedJoinReq != NULL && gu8FlushedJoinReqDrvHandler == 
drvHandler) {
kfree(gu8FlushedJoinReq);
gu8FlushedJoinReq = NULL;
}
-   if (gu8FlushedInfoElemAsoc != NULL && 
gu8FlushedJoinReqDrvHandler == (u32)drvHandler) {
+   if (gu8FlushedInfoElemAsoc != NULL && 
gu8FlushedJoinReqDrvHandler == drvHandler) {
kfree(gu8FlushedInfoElemAsoc);
gu8FlushedInfoElemAsoc = NULL;
}
-- 
1.9.1

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


[PATCH 0/5] staging: wilc1000: support 64bit machine and remove warnings

2015-08-20 Thread Tony Cho
This includes the remaining patches for 64bits. The driver uses the redundant
typecasting to communicate with the chipset, which causes several compile
warnings.

However, this patch uses the real data type and removes unnecessary typecasting.
Also, the driver allocates the ID value to the pointer address representing
the handlers and adds it into the data frames instead of the pointer address.
In results, the driver sends and gets the data frame to/from the chipset
together with ID value instead of pointer address as a handler. The ID value is
vaild from 0 to NUM_CONCURRENT_IFC. Only 0 value is the reserved value to
terminate a handler and to inform it to chipset.

This series of patch removes the warnings which 64 bit issue and the redundant
typecasting cause as well.

Johnny Kim (5):
  staging: wilc1000: use the real data type
  staging: wilc1000: add an argument for Handle_SetWfiDrvHandler
  staging: wilc1000: use id value as argument
  staging: wilc1000: change address to fixed value
  staging: wilc1000: define undefined operation mode

 drivers/staging/wilc1000/host_interface.c | 271 ++
 drivers/staging/wilc1000/host_interface.h |   2 +
 drivers/staging/wilc1000/linux_wlan.c |   4 +-
 drivers/staging/wilc1000/wilc_wfi_netdevice.h |   1 -
 4 files changed, 195 insertions(+), 83 deletions(-)

-- 
1.9.1

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


[PATCH 06/18] staging: mt29f_spinand: Export OF module alias information

2015-08-20 Thread Javier Martinez Canillas
The SPI core always reports the MODALIAS uevent as "spi:"
regardless of the mechanism that was used to register the device
(i.e: OF or board code) and the table that is used later to match
the driver with the device (i.e: SPI id table or OF match table).

So drivers needs to export the SPI id table and this be built into
the module or udev won't have the necessary information to autoload
the needed driver module when the device is added.

But this means that OF-only drivers needs to have both OF and SPI id
tables that have to be kept in sync and also the dev node compatible
manufacturer prefix is stripped when reporting the MODALIAS. Which can
lead to issues if two vendors use the same SPI device name for example.

To avoid the above, the SPI core behavior may be changed in the future
to not require an SPI device table for OF-only drivers and report the
OF module alias. So, it's better to also export the OF table even when
is unused now to prevent breaking module loading when the core changes.

Signed-off-by: Javier Martinez Canillas 
---

 drivers/staging/mt29f_spinand/mt29f_spinand.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/mt29f_spinand/mt29f_spinand.c 
b/drivers/staging/mt29f_spinand/mt29f_spinand.c
index ad30ce4206ef..1aa449e5fecf 100644
--- a/drivers/staging/mt29f_spinand/mt29f_spinand.c
+++ b/drivers/staging/mt29f_spinand/mt29f_spinand.c
@@ -941,6 +941,7 @@ static const struct of_device_id spinand_dt[] = {
{ .compatible = "spinand,mt29f", },
{}
 };
+MODULE_DEVICE_TABLE(of, spinand_dt);
 
 /*
  * Device name structure description
-- 
2.4.3

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


[PATCH 02/18] staging: iio: hmc5843: Export missing SPI module alias information

2015-08-20 Thread Javier Martinez Canillas
The SPI core always reports the MODALIAS uevent as "spi:"
regardless of the mechanism that was used to register the device
(i.e: OF or board code) and the table that is used later to match
the driver with the device (i.e: SPI id table or OF match table).

So drivers needs to export the SPI id table and this be built into
the module or udev won't have the necessary information to autoload
the needed driver module when the device is added.

Signed-off-by: Javier Martinez Canillas 
---

 drivers/staging/iio/magnetometer/hmc5843_spi.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/iio/magnetometer/hmc5843_spi.c 
b/drivers/staging/iio/magnetometer/hmc5843_spi.c
index 8e658f736e1f..4dfb372d2fec 100644
--- a/drivers/staging/iio/magnetometer/hmc5843_spi.c
+++ b/drivers/staging/iio/magnetometer/hmc5843_spi.c
@@ -81,6 +81,7 @@ static const struct spi_device_id hmc5843_id[] = {
{ "hmc5983", HMC5983_ID },
{ }
 };
+MODULE_DEVICE_TABLE(spi, hmc5843_id);
 
 static struct spi_driver hmc5843_driver = {
.driver = {
-- 
2.4.3

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


[PATCH 00/18] Export SPI and OF module aliases in missing drivers

2015-08-20 Thread Javier Martinez Canillas
Hello,

Short version:

This patch series is the SPI equivalent of the I2C one posted before [0].

This series add the missing MODULE_DEVICE_TABLE() for OF and SPI tables
to export that information so modules have the correct aliases built-in
and autoloading works correctly.

Longer version:

The SPI core always reports the MODALIAS uevent as "spi:"
regardless of the mechanism that was used to register the device (i.e:
OF or board code) and the table that is used later to match the driver
with the device (i.e: SPI id table or OF match table).

But this means that OF-only drivers needs to have both OF and SPI id
tables that have to be kept in sync and also the device node's compatible
manufacturer prefix is stripped when reporting the MODALIAS. Which can
lead to issues if two vendors use the same SPI device name for example.

Also, there are many SPI drivers whose module auto-loading is not working
because of this fact that the SPI core always reports the MODALIAS as
spi: and many developers didn't expect this since is not how
other subsystems behave.

I've identified SPI drivers with 3 types of different issues:

a) Those that have an spi_table but are not exported. The match works
   if the driver is built-in but since the ID table is not exported,
   module auto-load won't work.

b) Those that have a of_table but are not exported. This is currently
   not an issue since even when the of_table is used to match the dev
   with the driver, an OF modalias is not reported by the SPI core.
   But if the SPI core is changed to report the MODALIAS of the form
   of:N*T*C as it's made by other subsystems, then module auto-load
   will break for these drivers.

c) Those that don't have an of_table but should since are OF drivers
   with DT bindings doc for them. Since the SPI core does not report
   a OF modalias and since spi_match_device() fallbacks to match the
   device part of the compatible string with the SPI device ID table,
   many OF drivers don't have an of_table to match. After all having
   a SPI device ID table is mandatory so it works without a of_table.

So, in order to not make mandatory to have a SPI device ID table, all
these three kind of issues have to be addressed. This series does that.

I split the changes so the patches in this series are independent and
can be picked individually by subsystem maintainers.

Patches #1 and #2 solves a), patches #3 to #8 solves b) and patches

Patch #18 changes the logic of spi_uevent() to report an OF modalias if
the device was registered using OF. But this patch is included in the
series only as an RFC for illustration purposes since changing that
without first applying all the other patches in this series, will break
module autoloading for the drivers of devices registered using OF but
that lacks an of_match_table. I'll repost patch #18 once all the patches
in this series have landed.

[0]: https://lkml.org/lkml/2015/7/30/519

Best regards,
Javier


Javier Martinez Canillas (18):
  iio: Export SPI module alias information in missing drivers
  staging: iio: hmc5843: Export missing SPI module alias information
  mtd: dataflash: Export OF module alias information
  OMAPDSS: panel-sony-acx565akm: Export OF module alias information
  mmc: mmc_spi: Export OF module alias information
  staging: mt29f_spinand: Export OF module alias information
  net: ks8851: Export OF module alias information
  [media] s5c73m3: Export OF module alias information
  mfd: cros_ec: spi: Add OF match table
  iio: dac: ad7303: Add OF match table
  iio: adc: max1027: Set struct spi_driver .of_match_table
  mfd: stmpe: Add OF match table
  iio: adc: mcp320x: Set struct spi_driver .of_match_table
  iio: as3935: Add OF match table
  iio: adc128s052: Add OF match table
  iio: frequency: adf4350: Add OF match table
  NFC: trf7970a: Add OF match table
  spi: (RFC, don't apply) report OF style modalias when probing using DT

 drivers/iio/adc/max1027.c   |  1 +
 drivers/iio/adc/mcp320x.c   |  1 +
 drivers/iio/adc/ti-adc128s052.c |  8 
 drivers/iio/amplifiers/ad8366.c |  1 +
 drivers/iio/dac/ad7303.c|  7 +++
 drivers/iio/frequency/adf4350.c |  9 +
 drivers/iio/proximity/as3935.c  |  7 +++
 drivers/media/i2c/s5c73m3/s5c73m3-spi.c |  1 +
 drivers/mfd/cros_ec_spi.c   |  7 +++
 drivers/mfd/stmpe-spi.c | 13 +
 drivers/mmc/host/mmc_spi.c  |  1 +
 drivers/mtd/devices/mtd_dataflash.c |  1 +
 drivers/net/ethernet/micrel/ks8851.c|  1 +
 drivers/nfc/trf7970a.c  |  7 +++
 drivers/spi/spi.c   |  8 
 drivers/s