[Bug] :LAGER: GPIO-KEYS: Warning occurs after unbinding the e6051000.gpio
diff mbox

Message ID CACRpkdYMD-XZ3w9n=EaSK12xXhiTvStS61a86RYezew_-HYUvA@mail.gmail.com
State Under Review
Delegated to: Geert Uytterhoeven
Headers show

Commit Message

Linus Walleij April 26, 2016, 9:20 a.m. UTC
On Mon, Apr 25, 2016 at 11:32 AM, Cao Minh Hiep <cm-hiep@jinso.co.jp> wrote:

> Hello Linus Walleij-san
>
> We have tested Linux upstream v4.6-rc2 on Renesas's Lager board.
> When we tried to unbind the e6051000.gpio, the following warning messages
> occurs:
>
> "root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# echo e6051000.gpio >
> unbind
> [  241.511034] ------------[ cut here ]------------
> [  241.525054] WARNING: CPU: 0 PID: 2104 at fs/proc/generic.c:575
> remove_proc_entry+0x13c/0x160
> [  241.550456] remove_proc_entry: removing non-empty directory 'irq/169',
> leaking at least '6-0039'

Do you mean that you set up a handler in userspace, using the
deprecated sysfs ABI and then unbind the module providing the
IRQ resource?

> And we found a patch between v4.5 and v4.6-rc2 that causing of this issue.
> The patch is "ff2b1359 gpio: make the gpiochip a real device"

It seems the issue is not a bug in the kernel, the issue is that the
kernel is warning you about something that was wrong also before
but you didn't get a warning for it until now.

It is not OK to unbind a driver providing IRQs.

It is even unclear if we should even allow modules to provide
IRQs because there is no way to handle irqchips going away
when it has consumers.

Maybe we should just do this?


Yours,
Linus Walleij

Comments

Cao Minh Hiep April 27, 2016, 5:23 a.m. UTC | #1
Hi Linus-san
Thanks for your reply!

On 04/26/2016 06:20 PM, Linus Walleij wrote:
> On Mon, Apr 25, 2016 at 11:32 AM, Cao Minh Hiep <cm-hiep@jinso.co.jp> wrote:
>
>> Hello Linus Walleij-san
>>
>> We have tested Linux upstream v4.6-rc2 on Renesas's Lager board.
>> When we tried to unbind the e6051000.gpio, the following warning messages
>> occurs:
>>
>> "root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# echo e6051000.gpio >
>> unbind
>> [  241.511034] ------------[ cut here ]------------
>> [  241.525054] WARNING: CPU: 0 PID: 2104 at fs/proc/generic.c:575
>> remove_proc_entry+0x13c/0x160
>> [  241.550456] remove_proc_entry: removing non-empty directory 'irq/169',
>> leaking at least '6-0039'
> Do you mean that you set up a handler in userspace, using the
> deprecated sysfs ABI and then unbind the module providing the
> IRQ resource?
>
Please see the attach file for procedure test of this case.
In order to make sure that driver works normally after unbind and rebind 
the device.

>> And we found a patch between v4.5 and v4.6-rc2 that causing of this issue.
>> The patch is "ff2b1359 gpio: make the gpiochip a real device"
> It seems the issue is not a bug in the kernel, the issue is that the
> kernel is warning you about something that was wrong also before
> but you didn't get a warning for it until now.
>
> It is not OK to unbind a driver providing IRQs.
>
> It is even unclear if we should even allow modules to provide
> IRQs because there is no way to handle irqchips going away
> when it has consumers.
>
> Maybe we should just do this?
>
> diff --git a/drivers/gpio/gpio-rcar.c b/drivers/gpio/gpio-rcar.c
> index 3fe8e773d95c..ae5e81358ec5 100644
> --- a/drivers/gpio/gpio-rcar.c
> +++ b/drivers/gpio/gpio-rcar.c
> @@ -562,6 +562,7 @@ static struct platform_driver gpio_rcar_device_driver = {
>          .driver         = {
>                  .name   = "gpio_rcar",
>                  .of_match_table = of_match_ptr(gpio_rcar_of_table),
> +               .suppress_bind_attrs = true,
>          }
>   };
>
I have just tried to patch this patch on v4.6-rc2, then make a test.
The results is: I could not unbind the device.

"Welcome to Linaro 14.04 (GNU/Linux 4.6.0-rc2-dirty armv7l)

  * Documentation:  https://wiki.linaro.org/
root@linaro-nano:~# uname -a
Linux linaro-nano 4.6.0-rc2-dirty #8 SMP Wed Apr 27 13:40:12 JST 2016 
armv7l armv7l armv7l GNU/Linux
root@linaro-nano:~# cd /sys/bus/platform/drivers/gpio-keys; ls -d keyboard
keyboard
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# echo keyboard > unbind
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# cd
root@linaro-nano:~#
root@linaro-nano:~# cd /sys/bus/platform/drivers/gpio_rcar; ls -d 
e6051000.gpio
e6051000.gpio
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# echo e6051000.gpio 
 > unbind
-bash: unbind: Permission denied

root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# ls
e6050000.gpio  e6052000.gpio  e6054000.gpio  uevent
e6051000.gpio  e6053000.gpio  e6055000.gpio
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar#
"

before patching the patch, gpio-rcar devices are shown as below:

"root@linaro-nano:~# cd /sys/bus/platform/drivers/gpio_rcar; ls
bind           e6051000.gpio  e6053000.gpio  e6055000.gpio  unbind
e6050000.gpio  e6052000.gpio  e6054000.gpio  uevent
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# "


Best Regards,
Jinso/Cao Minh Hiep.
1.Booting kernel.

2.Confirm the gpio keys device.
# cd /sys/bus/platform/drivers/gpio-keys; ls -d keyboard
keyboard

3.Do unbind the device
# cd /sys/bus/platform/drivers/gpio-keys; echo keyboard > unbind

4. Confirm the gpio rcars device
# cd /sys/bus/platform/drivers/gpio_rcar; ls -d e6051000.gpio
e6051000.gpio

5.Do unbind the device.
# cd /sys/bus/platform/drivers/gpio_rcar; echo e6051000.gpio > unbind

6.Confirm the gpio rcars device
# cd /sys/bus/platform/drivers/gpio_rcar; ls -d e6051000.gpio
ls: cannot access e6051000.gpio: No such file or directory

7. Do rebind the gpio rcar device.
cd /sys/bus/platform/drivers/gpio_rcar; echo e6051000.gpio > bind

8. Do rebind the gpio keys device.
# cd /sys/bus/platform/drivers/gpio-keys;  echo keyboard > bind

9. Confirm.
Cao Minh Hiep June 28, 2016, 1:41 a.m. UTC | #2
Hi Linus-san

I am Hiep from Jinzai Solution.
We work for Renesas's drivers development project.

I am sorry to bother you again!
As I have reported you the issue that related to your released patch.
Could you please consider this issue and tell me how to resolve this 
problem?
This issue still happens on Rcar-H2 and Rcar-M2 (Renesas's SOC) at the 
Linux upstream version v4.7-rc2.

Thank you!
Hiep.


On 04/27/2016 02:23 PM, Cao Minh Hiep wrote:
> Hi Linus-san
> Thanks for your reply!
>
> On 04/26/2016 06:20 PM, Linus Walleij wrote:
>> On Mon, Apr 25, 2016 at 11:32 AM, Cao Minh Hiep <cm-hiep@jinso.co.jp> 
>> wrote:
>>
>>> Hello Linus Walleij-san
>>>
>>> We have tested Linux upstream v4.6-rc2 on Renesas's Lager board.
>>> When we tried to unbind the e6051000.gpio, the following warning 
>>> messages
>>> occurs:
>>>
>>> "root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# echo 
>>> e6051000.gpio >
>>> unbind
>>> [  241.511034] ------------[ cut here ]------------
>>> [  241.525054] WARNING: CPU: 0 PID: 2104 at fs/proc/generic.c:575
>>> remove_proc_entry+0x13c/0x160
>>> [  241.550456] remove_proc_entry: removing non-empty directory 
>>> 'irq/169',
>>> leaking at least '6-0039'
>> Do you mean that you set up a handler in userspace, using the
>> deprecated sysfs ABI and then unbind the module providing the
>> IRQ resource?
>>
> Please see the attach file for procedure test of this case.
> In order to make sure that driver works normally after unbind and 
> rebind the device.
>
>>> And we found a patch between v4.5 and v4.6-rc2 that causing of this 
>>> issue.
>>> The patch is "ff2b1359 gpio: make the gpiochip a real device"
>> It seems the issue is not a bug in the kernel, the issue is that the
>> kernel is warning you about something that was wrong also before
>> but you didn't get a warning for it until now.
>>
>> It is not OK to unbind a driver providing IRQs.
>>
>> It is even unclear if we should even allow modules to provide
>> IRQs because there is no way to handle irqchips going away
>> when it has consumers.
>>
>> Maybe we should just do this?
>>
>> diff --git a/drivers/gpio/gpio-rcar.c b/drivers/gpio/gpio-rcar.c
>> index 3fe8e773d95c..ae5e81358ec5 100644
>> --- a/drivers/gpio/gpio-rcar.c
>> +++ b/drivers/gpio/gpio-rcar.c
>> @@ -562,6 +562,7 @@ static struct platform_driver 
>> gpio_rcar_device_driver = {
>>          .driver         = {
>>                  .name   = "gpio_rcar",
>>                  .of_match_table = of_match_ptr(gpio_rcar_of_table),
>> +               .suppress_bind_attrs = true,
>>          }
>>   };
>>
> I have just tried to patch this patch on v4.6-rc2, then make a test.
> The results is: I could not unbind the device.
>
> "Welcome to Linaro 14.04 (GNU/Linux 4.6.0-rc2-dirty armv7l)
>
>  * Documentation:  https://wiki.linaro.org/
> root@linaro-nano:~# uname -a
> Linux linaro-nano 4.6.0-rc2-dirty #8 SMP Wed Apr 27 13:40:12 JST 2016 
> armv7l armv7l armv7l GNU/Linux
> root@linaro-nano:~# cd /sys/bus/platform/drivers/gpio-keys; ls -d 
> keyboard
> keyboard
> root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# echo keyboard > 
> unbind
> root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# cd
> root@linaro-nano:~#
> root@linaro-nano:~# cd /sys/bus/platform/drivers/gpio_rcar; ls -d 
> e6051000.gpio
> e6051000.gpio
> root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# echo 
> e6051000.gpio > unbind
> -bash: unbind: Permission denied
>
> root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# ls
> e6050000.gpio  e6052000.gpio  e6054000.gpio  uevent
> e6051000.gpio  e6053000.gpio  e6055000.gpio
> root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar#
> "
>
> before patching the patch, gpio-rcar devices are shown as below:
>
> "root@linaro-nano:~# cd /sys/bus/platform/drivers/gpio_rcar; ls
> bind           e6051000.gpio  e6053000.gpio  e6055000.gpio  unbind
> e6050000.gpio  e6052000.gpio  e6054000.gpio  uevent
> root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# "
>
>
> Best Regards,
> Jinso/Cao Minh Hiep.
>
Linus Walleij June 29, 2016, 8:47 a.m. UTC | #3
On Tue, Jun 28, 2016 at 3:41 AM, Hiep Cao Minh <cm-hiep@jinso.co.jp> wrote:

> As I have reported you the issue that related to your released patch.
> Could you please consider this issue and tell me how to resolve this
> problem?
>
> This issue still happens on Rcar-H2 and Rcar-M2 (Renesas's SOC) at the Linux
> upstream version v4.7-rc2.

I think the patches that Torvalds merged for v4.7-rc3
http://lwn.net/Articles/690987/ especially these two:

Ricardo Ribalda Delgado (2):
      gpiolib: Fix NULL pointer deference
      gpiolib: Fix unaligned used of reference counters

Solves the issue.

Can you verify?

Yours,
Linus Walleij
Cao Minh Hiep July 1, 2016, 7:58 a.m. UTC | #4
Hi Linus-san

Thanks for your reply!


>> As I have reported you the issue that related to your released patch.
>> Could you please consider this issue and tell me how to resolve this
>> problem?
>>
>> This issue still happens on Rcar-H2 and Rcar-M2 (Renesas's SOC) at the Linux
>> upstream version v4.7-rc2.
> I think the patches that Torvalds merged for v4.7-rc3
> http://lwn.net/Articles/690987/ especially these two:
>
> Ricardo Ribalda Delgado (2):
>        gpiolib: Fix NULL pointer deference
>        gpiolib: Fix unaligned used of reference counters
>
> Solves the issue.
>
> Can you verify?

I have just verified this on v4.7-rc5, this issue still happens.
But we find out that the issue had already happened before your 
following patch was released.
"ff2b1359 gpio: make the gpiochip a real device" (the patch that you 
have created before)
I mean, your patch helped us to find out the issue.

To Geert-san.

I'd like to divide Unbind-Rebind test  into two cases of Normal Test and 
Abnormal Test.

First, If we try to unbind/rebind the gpio device(ex: key, hdmi..) then 
unbind/rebind the gpio-rcar,
It works normally without error message. This test case is normal test.
Refer to (GPIO_Unbind-Rebind_Abnormal-Test_log.txt)

But on the other hand, If we try to unbind/rebind the gpio-rcar without 
unbinding/rebinding gpio device,
The warning message looks like from kernel will happens. This test case 
is abnormal test.
(Refer to GPIO_Unbind-Rebind_Normal-Test_logs.txt)

In abnormal Test case, an error message occurs definitely from the 
driver or the core class of the driver.
But I think we should consider the error or warning message looks like a 
kernel warning message.

Thank you!
Jinso/Hiep.
root@linaro-nano:~# cd /sys/bus/platform/drivers/gpio-keys; ls -d keyboard
keyboard
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# 
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# echo keyboard > unbind
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# 
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys#  cd /sys/bus/platform/drivers/gpio_rcar; ls -d e6051000.gpio
e6051000.gpio
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# echo e6051000.gpio > unbind
[  241.511034] ------------[ cut here ]------------
[  241.525054] WARNING: CPU: 0 PID: 2104 at fs/proc/generic.c:575 remove_proc_entry+0x13c/0x160
[  241.550456] remove_proc_entry: removing non-empty directory 'irq/169', leaking at least '6-0039'
[  241.576900] CPU: 0 PID: 2104 Comm: bash Not tainted 4.6.0-rc2-dirty #69
[  241.596734] Hardware name: Generic R8A7790 (Flattened Device Tree)
[  241.615261] Backtrace: 
[  241.622646] [<c010aa08>] (dump_backtrace) from [<c010abb0>] (show_stack+0x18/0x1c)
[  241.645342]  r7:c022321c r6:00000009 r5:60050013 r4:00000000
[  241.662432] [<c010ab98>] (show_stack) from [<c0310cb4>] (dump_stack+0x84/0xa4)
[  241.684100] [<c0310c30>] (dump_stack) from [<c011d32c>] (__warn+0xd4/0x104)
[  241.704970]  r5:00000000 r4:ef38fd08
[  241.715747] [<c011d258>] (__warn) from [<c011d39c>] (warn_slowpath_fmt+0x40/0x48)
[  241.738180]  r9:000be408 r8:ef38ff80 r7:c0a62254 r6:ef0f6680 r5:ef0f66d9 r4:ee4a3780
[  241.761539] [<c011d360>] (warn_slowpath_fmt) from [<c022321c>] (remove_proc_entry+0x13c/0x160)
[  241.787351]  r3:c070ecc0 r2:c0835169
[  241.798089] [<c02230e0>] (remove_proc_entry) from [<c0162654>] (unregister_irq_proc+0x94/0xb8)
[  241.823891]  r7:000000a9 r6:000000a9 r5:c0a57df4 r4:eeb1d180
[  241.840913] [<c01625c0>] (unregister_irq_proc) from [<c015af8c>] (free_desc+0x2c/0x60)
[  241.864631]  r6:c0a0a7c0 r5:c0a0a7cc r4:eeb1d180
[  241.878509] [<c015af60>] (free_desc) from [<c015b128>] (irq_free_descs+0x48/0x7c)
[  241.900926]  r7:000000aa r6:00000001 r5:000000aa r4:000000a9
[  241.917948] [<c015b0e0>] (irq_free_descs) from [<c016131c>] (irq_dispose_mapping+0x50/0x58)
[  241.942969]  r7:c0a1c9e8 r6:0000000f r5:ee487400 r4:000000a9
[  241.959990] [<c01612cc>] (irq_dispose_mapping) from [<c033c3ac>] (gpiochip_remove+0x78/0x134)
[  241.985532]  r5:ee487400 r4:ee48761c
[  241.996269] [<c033c334>] (gpiochip_remove) from [<c033f9a8>] (gpio_rcar_remove+0x1c/0x30)
[  242.020768]  r7:c0a1c9e8 r6:c0a12cc8 r5:ef1cf210 r4:ef1cf200
[  242.037785] [<c033f98c>] (gpio_rcar_remove) from [<c03e1bd4>] (platform_drv_remove+0x2c/0x44)
[  242.063327]  r5:ef1cf210 r4:ef1cf210
[  242.074061] [<c03e1ba8>] (platform_drv_remove) from [<c03e09c4>] (__device_release_driver+0x9c/0x110)
[  242.101686]  r5:c0a12cc8 r4:ef1cf210
[  242.112417] [<c03e0928>] (__device_release_driver) from [<c03e0ab4>] (device_release_driver+0x24/0x30)
[  242.140301]  r5:ef1cf210 r4:ef1cf244
[  242.151036] [<c03e0a90>] (device_release_driver) from [<c03def0c>] (unbind_store+0x60/0x94)
[  242.176055]  r5:ef1cf210 r4:0000000e
[  242.186788] [<c03deeac>] (unbind_store) from [<c03de88c>] (drv_attr_store+0x2c/0x38)
[  242.209984]  r7:ee82204c r6:ee822040 r5:ee822940 r4:0000000e
[  242.227002] [<c03de860>] (drv_attr_store) from [<c022d680>] (sysfs_kf_write+0x40/0x4c)
[  242.250723] [<c022d640>] (sysfs_kf_write) from [<c022cd14>] (kernfs_fop_write+0x13c/0x1a0)
[  242.275488] [<c022cbd8>] (kernfs_fop_write) from [<c01d2150>] (__vfs_write+0x34/0xdc)
[  242.298945]  r10:00000000 r9:ef38e000 r8:c0107064 r7:0000000e r6:ef38ff80 r5:c022cbd8
[  242.322485]  r4:edeb6840
[  242.330074] [<c01d211c>] (__vfs_write) from [<c01d2374>] (vfs_write+0xb4/0x13c)
[  242.351967]  r7:ef38ff80 r6:000be408 r5:edeb6840 r4:0000000e
[  242.368980] [<c01d22c0>] (vfs_write) from [<c01d24dc>] (SyS_write+0x50/0x90)
[  242.390094]  r9:ef38e000 r8:c0107064 r7:0000000e r6:000be408 r5:edeb6840 r4:edeb6840
[  242.413375] [<c01d248c>] (SyS_write) from [<c0106ea0>] (ret_fast_syscall+0x0/0x3c)
[  242.436051]  r7:00000004 r6:b6ef6b58 r5:000be408 r4:0000000e
[  242.453202] ---[ end trace 34483a4a0b11769a ]---
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# 
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# 
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# ls -d e6051000.gpio
ls: cannot access e6051000.gpio: No such file or directory
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# echo e6051000.gpio > bind
[  262.882338] gpio_rcar e6051000.gpio: driving 30 GPIOs
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# 
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# cd /sys/bus/platform/drivers/gpio-keys; ls -d keyboard
ls: cannot access keyboard: No such file or directory
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# 
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# echo keyboard > bind
[  283.972000] input: keyboard as /devices/platform/keyboard/input/input1
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# 
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# 
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# ls -d keyboard
keyboard
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# 
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# cd /sys/bus/platform/drivers/gpio_rcar; ls -d e6051000.gpio
e6051000.gpio
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar#
LAGER SPI_LOADER V0.27 2014.06.20
DEVICE S25FL512


U-Boot 2013.01.01-gcb82c56 (Jun 25 2015 - 14:37:16)

CPU: Renesas Electronics R8A7790 rev 3.0
Board: Lager Board

DRAM:  2 GiB
MMC:   sh_mmcif: 0, sh-sdhi: 1, sh-sdhi: 2
SF: Detected S25FL512S with page size 256 KiB, total 64 MiB
In:    serial
Out:   serial
Err:   serial
Net:   sh_eth
Hit any key to stop autoboot:  0 
sh_eth Waiting for PHY auto negotiation to complete.. done
sh_eth: 100Base/Full
BOOTP broadcast 1
DHCP client bound to address 172.16.1.81
Using sh_eth device
TFTP from server 172.16.1.85; our IP address is 172.16.1.81
Filename 'lager/uImage.dtb'.
Load address: 0x40007fc0
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         ##
         5.7 MiB/s
done
Bytes transferred = 3845516 (3aad8c hex)
Automatic boot of image at addr 0x40007FC0 ...
## Booting kernel from Legacy Image at 40007fc0 ...
   Image Name:   Linux-4.7.0-rc2
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3845452 Bytes = 3.7 MiB
   Load Address: 40008000
   Entry Point:  40008000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK
OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.7.0-rc5-dirty (nguyen@ky) (gcc version 4.9.2 20140904 (prerelease) (crosstool-NG linaro-1.13.1-4.6
[    0.000000] CPU: ARMv7 Processor [413fc0f2] revision 2 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] Machine model: Lager
[    0.000000] Ignoring memory block 0x140000000 - 0x200000000
[    0.000000] debug: ignoring loglevel setting.
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] On node 0 totalpages: 262144
[    0.000000] free_area_init_node: node 0, pgdat c0a2fb80, node_mem_map e6ff9000
[    0.000000]   Normal zone: 1264 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 161792 pages, LIFO batch:31
[    0.000000]   HighMem zone: 100352 pages, LIFO batch:31
[    0.000000] percpu: Embedded 11 pages/cpu @e6f7a000 s22720 r0 d22336 u45056
[    0.000000] pcpu-alloc: s22720 r0 d22336 u45056 alloc=11*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [0] 4 [0] 5 [0] 6 [0] 7 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260880
[    0.000000] Kernel command line: console=ttySC0,38400 vmalloc=384M root=/dev/mmcblk2p1 rootwait rw earlyprintk earlycon=ttySCl
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 1029288K/1048576K available (6148K kernel code, 197K rwdata, 1612K rodata, 1024K init, 293K bss, 19288K r)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xe8000000 - 0xff800000   ( 376 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xe7800000   ( 632 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0894074   (8753 kB)
[    0.000000]       .init : 0xc0900000 - 0xc0a00000   (1024 kB)
[    0.000000]       .data : 0xc0a00000 - 0xc0a314a0   ( 198 kB)
[    0.000000]        .bss : 0xc0a33000 - 0xc0a7c424   ( 294 kB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  Build-time adjustment of leaf fanout to 32.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] Architected cp15 timer(s) running at 10.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x24e6a1710, max_idle_ns: 440795202120 ns
[    0.000004] sched_clock: 56 bits at 10MHz, resolution 100ns, wraps every 4398046511100ns
[    0.000014] Switching to timer-based delay loop, resolution 100ns
[    0.000501] Console: colour dummy device 80x30
[    0.000524] Calibrating delay loop (skipped), value calculated using timer frequency.. 20.00 BogoMIPS (lpj=100000)
[    0.000536] pid_max: default: 32768 minimum: 301
[    0.000658] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000667] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.001125] CPU: Testing write buffer coherency: ok
[    0.001373] CPU0: update cpu_capacity 1535
[    0.001381] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.003168] Setting up static identity map for 0x40100000 - 0x40100058
[    0.006764] CPU1: update cpu_capacity 1535
[    0.006769] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.007728] CPU2: update cpu_capacity 1535
[    0.007734] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.008693] CPU3: update cpu_capacity 1535
[    0.008699] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.009332] CPU4: failed to boot: -22
[    0.009985] CPU5: failed to boot: -22
[    0.010588] CPU6: failed to boot: -22
[    0.011186] CPU7: failed to boot: -22
[    0.011248] Brought up 4 CPUs
[    0.011256] SMP: Total of 4 processors activated (80.00 BogoMIPS).
[    0.011263] CPU: All CPU(s) started in SVC mode.
[    0.060722] devtmpfs: initialized
[    0.069859] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
[    0.070230] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.116842] pinctrl core: initialized pinctrl subsystem
[    0.297059] NET: Registered protocol family 16
[    0.297281] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.300248] renesas_irqc e61c0000.interrupt-controller: driving 4 irqs
[    0.303831] sh-pfc e6060000.pfc: r8a77900_pfc support registered
[    0.309152] No ATAGs?
[    0.309173] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.309181] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.309212] IRQ2 is asserted, installing da9063/da9210 regulator quirk
[    0.780088] vgaarb: loaded
[    0.869266] SCSI subsystem initialized
[    0.869441] libata version 3.00 loaded.
[    0.869663] usbcore: registered new interface driver usbfs
[    0.869707] usbcore: registered new interface driver hub
[    0.869805] usbcore: registered new device driver usb
[    0.870566] i2c-sh_mobile e6510000.i2c: I2C adapter 5, bus speed 100000 Hz
[    0.871267] i2c-sh_mobile e6520000.i2c: I2C adapter 6, bus speed 100000 Hz
[    0.871666] i2c 7-0058: Masking da9063 interrupt sources
[    0.873394] i2c 7-0068: Masking da9210 interrupt sources
[    0.874221] i2c 7-0068: IRQ2 is not asserted, removing quirk
[    0.874270] i2c-sh_mobile e60b0000.i2c: I2C adapter 7, bus speed 100000 Hz
[    0.874467] media: Linux media interface: v0.10
[    0.874516] Linux video capture interface: v2.00
[    0.874878] sh_cmt ffca0000.timer: ch0: used for clock events
[    0.874892] sh_cmt ffca0000.timer: ch1: used as clock source
[    0.874903] clocksource: ffca0000.timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000000 ns
[    0.875532] Advanced Linux Sound Architecture Driver Initialized.
[    0.876250] clocksource: Switched to clocksource arch_sys_counter
[    1.256261] NET: Registered protocol family 2
[    1.376340] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[    1.376396] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    1.376491] TCP: Hash tables configured (established 8192 bind 8192)
[    1.376537] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    1.376560] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    1.496256] NET: Registered protocol family 1
[    1.556260] RPC: Registered named UNIX socket transport module.
[    1.556268] RPC: Registered udp transport module.
[    1.556274] RPC: Registered tcp transport module.
[    1.556280] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.556289] PCI: CLS 0 bytes, default 64
[    1.617225] futex hash table entries: 2048 (order: 5, 131072 bytes)
[    1.617747] workingset: timestamp_bits=28 max_order=18 bucket_order=0
[    2.456275] NFS: Registering the id_resolver key type
[    2.456307] Key type id_resolver registered
[    2.456314] Key type id_legacy registered
[    2.456328] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    2.456336] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    2.457895] bounce: pool size: 64 pages
[    2.526291] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[    2.526301] io scheduler noop registered
[    2.526308] io scheduler deadline registered
[    2.526321] io scheduler cfq registered (default)
[    2.527732] gpio_rcar e6050000.gpio: driving 32 GPIOs
[    2.528248] gpio_rcar e6051000.gpio: driving 30 GPIOs
[    2.528756] gpio_rcar e6052000.gpio: driving 30 GPIOs
[    2.529281] gpio_rcar e6053000.gpio: driving 32 GPIOs
[    2.529788] gpio_rcar e6054000.gpio: driving 32 GPIOs
[    2.530305] gpio_rcar e6055000.gpio: driving 32 GPIOs
[    2.531003] pci-rcar-gen2 ee090000.pci: PCI: bus0 revision 11
[    2.531154] pci-rcar-gen2 ee090000.pci: PCI host bridge to bus 0000:00
[    2.531165] pci_bus 0000:00: root bus resource [io  0xee080000-0xee0810ff]
[    2.531173] pci_bus 0000:00: root bus resource [mem 0xee080000-0xee0810ff]
[    2.531181] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    2.531214] pci 0000:00:00.0: [1033:0000] type 00 class 0x060000
[    2.531234] pci 0000:00:00.0: reg 0x10: [mem 0xee090800-0xee090bff]
[    2.531246] pci 0000:00:00.0: reg 0x14: [mem 0x40000000-0x7fffffff pref]
[    2.531455] pci 0000:00:01.0: [1033:0035] type 00 class 0x0c0310
[    2.531477] pci 0000:00:01.0: reg 0x10: [mem 0x00000000-0x00000fff]
[    2.531550] pci 0000:00:01.0: supports D1 D2
[    2.531557] pci 0000:00:01.0: PME# supported from D0 D1 D2 D3hot
[    2.531763] pci 0000:00:02.0: [1033:00e0] type 00 class 0x0c0320
[    2.531785] pci 0000:00:02.0: reg 0x10: [mem 0x00000000-0x000000ff]
[    2.531855] pci 0000:00:02.0: supports D1 D2
[    2.531863] pci 0000:00:02.0: PME# supported from D0 D1 D2 D3hot
[    2.532070] PCI: bus0: Fast back to back transfers disabled
[    2.532081] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    2.532163] pci 0000:00:01.0: BAR 0: assigned [mem 0xee080000-0xee080fff]
[    2.532176] pci 0000:00:02.0: BAR 0: assigned [mem 0xee081000-0xee0810ff]
[    2.532212] pci 0000:00:01.0: enabling device (0140 -> 0142)
[    2.532248] pci 0000:00:02.0: enabling device (0140 -> 0142)
[    2.532488] pci-rcar-gen2 ee0b0000.pci: PCI: bus0 revision 11
[    2.532633] pci-rcar-gen2 ee0b0000.pci: PCI host bridge to bus 0001:01
[    2.532642] pci_bus 0001:01: root bus resource [io  0xee0a0000-0xee0a10ff]
[    2.532650] pci_bus 0001:01: root bus resource [mem 0xee0a0000-0xee0a10ff]
[    2.532657] pci_bus 0001:01: No busn resource found for root bus, will use [bus 01-ff]
[    2.532678] pci 0001:01:00.0: [1033:0000] type 00 class 0x060000
[    2.532694] pci 0001:01:00.0: reg 0x10: [mem 0xee0b0800-0xee0b0bff]
[    2.532706] pci 0001:01:00.0: reg 0x14: [mem 0x40000000-0x7fffffff pref]
[    2.532901] pci 0001:01:01.0: [1033:0035] type 00 class 0x0c0310
[    2.532922] pci 0001:01:01.0: reg 0x10: [mem 0x00000000-0x00000fff]
[    2.532994] pci 0001:01:01.0: supports D1 D2
[    2.533001] pci 0001:01:01.0: PME# supported from D0 D1 D2 D3hot
[    2.533192] pci 0001:01:02.0: [1033:00e0] type 00 class 0x0c0320
[    2.533214] pci 0001:01:02.0: reg 0x10: [mem 0x00000000-0x000000ff]
[    2.533285] pci 0001:01:02.0: supports D1 D2
[    2.533292] pci 0001:01:02.0: PME# supported from D0 D1 D2 D3hot
[    2.533489] PCI: bus1: Fast back to back transfers disabled
[    2.533499] pci_bus 0001:01: busn_res: [bus 01-ff] end is updated to 01
[    2.533620] pci 0001:01:01.0: BAR 0: assigned [mem 0xee0a0000-0xee0a0fff]
[    2.533632] pci 0001:01:02.0: BAR 0: assigned [mem 0xee0a1000-0xee0a10ff]
[    2.533659] pci 0001:01:01.0: enabling device (0140 -> 0142)
[    2.533691] pci 0001:01:02.0: enabling device (0140 -> 0142)
[    2.533859] pci-rcar-gen2 ee0d0000.pci: PCI: bus0 revision 11
[    2.534005] pci-rcar-gen2 ee0d0000.pci: PCI host bridge to bus 0002:02
[    2.534015] pci_bus 0002:02: root bus resource [io  0xee0c0000-0xee0c10ff]
[    2.534022] pci_bus 0002:02: root bus resource [mem 0xee0c0000-0xee0c10ff]
[    2.534030] pci_bus 0002:02: No busn resource found for root bus, will use [bus 02-ff]
[    2.534055] pci 0002:02:00.0: [1033:0000] type 00 class 0x060000
[    2.534072] pci 0002:02:00.0: reg 0x10: [mem 0xee0d0800-0xee0d0bff]
[    2.534083] pci 0002:02:00.0: reg 0x14: [mem 0x40000000-0x7fffffff pref]
[    2.534275] pci 0002:02:01.0: [1033:0035] type 00 class 0x0c0310
[    2.534297] pci 0002:02:01.0: reg 0x10: [mem 0x00000000-0x00000fff]
[    2.534368] pci 0002:02:01.0: supports D1 D2
[    2.534375] pci 0002:02:01.0: PME# supported from D0 D1 D2 D3hot
[    2.534578] pci 0002:02:02.0: [1033:00e0] type 00 class 0x0c0320
[    2.534599] pci 0002:02:02.0: reg 0x10: [mem 0x00000000-0x000000ff]
[    2.534671] pci 0002:02:02.0: supports D1 D2
[    2.534678] pci 0002:02:02.0: PME# supported from D0 D1 D2 D3hot
[    2.534887] PCI: bus2: Fast back to back transfers disabled
[    2.534898] pci_bus 0002:02: busn_res: [bus 02-ff] end is updated to 02
[    2.535071] pci 0002:02:01.0: BAR 0: assigned [mem 0xee0c0000-0xee0c0fff]
[    2.535083] pci 0002:02:02.0: BAR 0: assigned [mem 0xee0c1000-0xee0c10ff]
[    2.535112] pci 0002:02:01.0: enabling device (0140 -> 0142)
[    2.535143] pci 0002:02:02.0: enabling device (0140 -> 0142)
[    2.548066] DA9210: Bringing 1080000uV into 1000000-1000000uV
[    2.553244] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    2.554401] SuperH (H)SCI(F) driver initialized
[    2.554872] e6c50000.serial: ttySC1 at MMIO 0xe6c50000 (irq = 102, base_baud = 0) is a scifa
[    2.555401] e6e60000.serial: ttySC0 at MMIO 0xe6e60000 (irq = 103, base_baud = 0) is a scif
[    6.020964] console [ttySC0] enabled
[    6.032182] [drm] Initialized drm 1.1.0 20060810
[    6.046994] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    6.066818] [drm] No driver support for vblank timestamp query.
[    6.085189] rcar-du feb00000.display: failed to initialize DRM/KMS (-517)
[    6.118038] da9063 7-0058: Device detected (chip-ID: 0x61, var-ID: 0x30)
[    6.151397] scsi host0: sata_rcar
[    6.161541] ata1: SATA max UDMA/133 irq 105
[    6.174835] renesas_spi e6b10000.spi: DMA available
[    6.190146] m25p80 spi0.0: s25fl512s (65536 Kbytes)
[    6.204801] 3 ofpart partitions found on MTD device spi0.0
[    6.221266] Creating 3 MTD partitions on "spi0.0":
[    6.235625] 0x000000000000-0x000000040000 : "loader"
[    6.251357] 0x000000040000-0x000000440000 : "user"
[    6.266549] 0x000000440000-0x000004000000 : "flash"
[    6.281972] renesas_spi e6b10000.spi: probed
[    6.295555] spi_sh_msiof e6e10000.spi: DMA available
[    6.311591] CAN device driver interface
[    6.323999] libphy: sh_mii: probed
[    6.335239] sh-eth ee700000.ethernet eth0: Base address at 0xee700000, 2e:09:0a:00:6e:39, IRQ 104.
[    6.362375] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    6.381937] ehci-pci: EHCI PCI platform driver
[    6.395380] ehci-pci 0000:00:02.0: EHCI Host Controller
[    6.411055] ehci-pci 0000:00:02.0: new USB bus registered, assigned bus number 1
[    6.433328] ehci-pci 0000:00:02.0: irq 119, io mem 0xee081000
[    6.466258] ehci-pci 0000:00:02.0: USB 2.0 started, EHCI 1.00
[    6.484152] hub 1-0:1.0: USB hub found
[    6.495417] hub 1-0:1.0: 1 port detected
[    6.507607] ehci-pci 0001:01:02.0: EHCI Host Controller
[    6.523281] ehci-pci 0001:01:02.0: new USB bus registered, assigned bus number 2
[    6.545535] ehci-pci 0001:01:02.0: irq 120, io mem 0xee0a1000
[    6.576275] ehci-pci 0001:01:02.0: USB 2.0 started, EHCI 1.00
[    6.594103] hub 2-0:1.0: USB hub found
[    6.605345] ata1: link resume succeeded after 1 retries
[    6.605371] hub 2-0:1.0: 1 port detected
[    6.605780] ehci-pci 0002:02:02.0: EHCI Host Controller
[    6.605797] ehci-pci 0002:02:02.0: new USB bus registered, assigned bus number 3
[    6.605888] ehci-pci 0002:02:02.0: irq 121, io mem 0xee0c1000
[    6.626257] ehci-pci 0002:02:02.0: USB 2.0 started, EHCI 1.00
[    6.626894] hub 3-0:1.0: USB hub found
[    6.626928] hub 3-0:1.0: 1 port detected
[    6.627286] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    6.627289] ohci-pci: OHCI PCI platform driver
[    6.627364] ohci-pci 0000:00:01.0: OHCI PCI host controller
[    6.627381] ohci-pci 0000:00:01.0: new USB bus registered, assigned bus number 4
[    6.627417] ohci-pci 0000:00:01.0: irq 119, io mem 0xee080000
[    6.726882] hub 4-0:1.0: USB hub found
[    6.726915] hub 4-0:1.0: 1 port detected
[    6.727274] ohci-pci 0001:01:01.0: OHCI PCI host controller
[    6.727293] ohci-pci 0001:01:01.0: new USB bus registered, assigned bus number 5
[    6.727329] ohci-pci 0001:01:01.0: irq 120, io mem 0xee0a0000
[    6.816906] hub 5-0:1.0: USB hub found
[    6.816940] hub 5-0:1.0: 1 port detected
[    6.817311] ohci-pci 0002:02:01.0: OHCI PCI host controller
[    6.817328] ohci-pci 0002:02:01.0: new USB bus registered, assigned bus number 6
[    6.817362] ohci-pci 0002:02:01.0: irq 121, io mem 0xee0c0000
[    6.916891] hub 6-0:1.0: USB hub found
[    6.916927] hub 6-0:1.0: 1 port detected
[    6.917623] sh-pfc e6060000.pfc: pin GP_5_19 already requested by ee090000.pci; cannot claim for e6590000.usb
[    6.917628] sh-pfc e6060000.pfc: pin-179 (e6590000.usb) status -22
[    6.917633] sh-pfc e6060000.pfc: could not request pin 179 (GP_5_19) from group usb0_ovc_vbus  on device sh-pfc
[    6.917637] renesas_usbhs e6590000.usb: Error applying setting, reverse things back
[    6.917876] renesas_usbhs e6590000.usb: transceiver found
[    6.918038] renesas_usbhs e6590000.usb: gadget probed
[    6.918143] phy phy-e6590100.usb-phy.1: phy init failed --> -16
[    6.918152] renesas_usbhs e6590000.usb: probed
[    6.918377] using random self ethernet address
[    6.918382] using random host ethernet address
[    6.918832] usb0: HOST MAC d6:3f:b4:ae:a9:db
[    6.918853] usb0: MAC 42:9a:dc:43:25:8a
[    6.918870] using random self ethernet address
[    6.918874] using random host ethernet address
[    6.918926] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
[    6.918929] g_ether gadget: g_ether ready
[    6.919119] mousedev: PS/2 mouse device common for all mice
[    6.934784] da9063-rtc da9063-rtc: rtc core: registered da9063-rtc as rtc0
[    6.939907] i2c /dev entries driver
[    6.941761] i2c-sh_mobile e6500000.i2c: I2C adapter 4, bus speed 100000 Hz
[    6.942319] adv7180 6-0020: chip found @ 0x20 (e6520000.i2c)
[    6.958452] soc-camera-pdrv soc-camera-pdrv.0: Probing soc-camera-pdrv.0
[    6.959341] rcar_jpu fe980000.jpeg-codec: encoder device registered as /dev/video1
[    6.959344] rcar_jpu fe980000.jpeg-codec: decoder device registered as /dev/video2
[    6.961087] vsp1 fe920000.vsp1: Entity type for entity fe920000.vsp1 bru was not initialized!
[    6.961094] vsp1 fe920000.vsp1: Entity type for entity fe920000.vsp1 hsi was not initialized!
[    6.961101] vsp1 fe920000.vsp1: Entity type for entity fe920000.vsp1 hst was not initialized!
[    6.961108] vsp1 fe920000.vsp1: Entity type for entity fe920000.vsp1 rpf.0 was not initialized!
[    6.961114] vsp1 fe920000.vsp1: Entity type for entity fe920000.vsp1 rpf.1 was not initialized!
[    6.961121] vsp1 fe920000.vsp1: Entity type for entity fe920000.vsp1 rpf.2 was not initialized!
[    6.961126] vsp1 fe920000.vsp1: Entity type for entity fe920000.vsp1 rpf.3 was not initialized!
[    6.961132] vsp1 fe920000.vsp1: Entity type for entity fe920000.vsp1 rpf.4 was not initialized!
[    6.961138] vsp1 fe920000.vsp1: Entity type for entity fe920000.vsp1 sru was not initialized!
[    6.961144] vsp1 fe920000.vsp1: Entity type for entity fe920000.vsp1 uds.0 was not initialized!
[    6.961150] vsp1 fe920000.vsp1: Entity type for entity fe920000.vsp1 wpf.0 was not initialized!
[    6.961155] vsp1 fe920000.vsp1: Entity type for entity fe920000.vsp1 wpf.1 was not initialized!
[    6.961161] vsp1 fe920000.vsp1: Entity type for entity fe920000.vsp1 wpf.2 was not initialized!
[    6.961166] vsp1 fe920000.vsp1: Entity type for entity fe920000.vsp1 wpf.3 was not initialized!
[    6.964625] vsp1 fe928000.vsp1: Entity type for entity fe928000.vsp1 bru was not initialized!
[    6.964633] vsp1 fe928000.vsp1: Entity type for entity fe928000.vsp1 hsi was not initialized!
[    6.964640] vsp1 fe928000.vsp1: Entity type for entity fe928000.vsp1 hst was not initialized!
[    6.964646] vsp1 fe928000.vsp1: Entity type for entity fe928000.vsp1 lut was not initialized!
[    6.964653] vsp1 fe928000.vsp1: Entity type for entity fe928000.vsp1 rpf.0 was not initialized!
[    6.964659] vsp1 fe928000.vsp1: Entity type for entity fe928000.vsp1 rpf.1 was not initialized!
[    6.964665] vsp1 fe928000.vsp1: Entity type for entity fe928000.vsp1 rpf.2 was not initialized!
[    6.964670] vsp1 fe928000.vsp1: Entity type for entity fe928000.vsp1 rpf.3 was not initialized!
[    6.964676] vsp1 fe928000.vsp1: Entity type for entity fe928000.vsp1 rpf.4 was not initialized!
[    6.964682] vsp1 fe928000.vsp1: Entity type for entity fe928000.vsp1 sru was not initialized!
[    6.964688] vsp1 fe928000.vsp1: Entity type for entity fe928000.vsp1 uds.0 was not initialized!
[    6.964693] vsp1 fe928000.vsp1: Entity type for entity fe928000.vsp1 uds.1 was not initialized!
[    6.964698] vsp1 fe928000.vsp1: Entity type for entity fe928000.vsp1 uds.2 was not initialized!
[    6.964704] vsp1 fe928000.vsp1: Entity type for entity fe928000.vsp1 wpf.0 was not initialized!
[    6.964709] vsp1 fe928000.vsp1: Entity type for entity fe928000.vsp1 wpf.1 was not initialized!
[    6.964715] vsp1 fe928000.vsp1: Entity type for entity fe928000.vsp1 wpf.2 was not initialized!
[    6.964720] vsp1 fe928000.vsp1: Entity type for entity fe928000.vsp1 wpf.3 was not initialized!
[    6.968450] vsp1 fe930000.vsp1: Entity type for entity fe930000.vsp1 bru was not initialized!
[    6.968458] vsp1 fe930000.vsp1: Entity type for entity fe930000.vsp1 hsi was not initialized!
[    6.968465] vsp1 fe930000.vsp1: Entity type for entity fe930000.vsp1 hst was not initialized!
[    6.968471] vsp1 fe930000.vsp1: Entity type for entity fe930000.vsp1 lif was not initialized!
[    6.968478] vsp1 fe930000.vsp1: Entity type for entity fe930000.vsp1 lut was not initialized!
[    6.968484] vsp1 fe930000.vsp1: Entity type for entity fe930000.vsp1 rpf.0 was not initialized!
[    6.968490] vsp1 fe930000.vsp1: Entity type for entity fe930000.vsp1 rpf.1 was not initialized!
[    6.968495] vsp1 fe930000.vsp1: Entity type for entity fe930000.vsp1 rpf.2 was not initialized!
[    6.968501] vsp1 fe930000.vsp1: Entity type for entity fe930000.vsp1 rpf.3 was not initialized!
[    6.968507] vsp1 fe930000.vsp1: Entity type for entity fe930000.vsp1 uds.0 was not initialized!
[    6.968512] vsp1 fe930000.vsp1: Entity type for entity fe930000.vsp1 wpf.0 was not initialized!
[    6.968518] vsp1 fe930000.vsp1: Entity type for entity fe930000.vsp1 wpf.1 was not initialized!
[    6.968523] vsp1 fe930000.vsp1: Entity type for entity fe930000.vsp1 wpf.2 was not initialized!
[    6.968529] vsp1 fe930000.vsp1: Entity type for entity fe930000.vsp1 wpf.3 was not initialized!
[    6.971811] vsp1 fe938000.vsp1: Entity type for entity fe938000.vsp1 bru was not initialized!
[    6.971818] vsp1 fe938000.vsp1: Entity type for entity fe938000.vsp1 hsi was not initialized!
[    6.971825] vsp1 fe938000.vsp1: Entity type for entity fe938000.vsp1 hst was not initialized!
[    6.971831] vsp1 fe938000.vsp1: Entity type for entity fe938000.vsp1 lif was not initialized!
[    6.971837] vsp1 fe938000.vsp1: Entity type for entity fe938000.vsp1 lut was not initialized!
[    6.971844] vsp1 fe938000.vsp1: Entity type for entity fe938000.vsp1 rpf.0 was not initialized!
[    6.971850] vsp1 fe938000.vsp1: Entity type for entity fe938000.vsp1 rpf.1 was not initialized!
[    6.971855] vsp1 fe938000.vsp1: Entity type for entity fe938000.vsp1 rpf.2 was not initialized!
[    6.971861] vsp1 fe938000.vsp1: Entity type for entity fe938000.vsp1 rpf.3 was not initialized!
[    6.971867] vsp1 fe938000.vsp1: Entity type for entity fe938000.vsp1 uds.0 was not initialized!
[    6.971873] vsp1 fe938000.vsp1: Entity type for entity fe938000.vsp1 wpf.0 was not initialized!
[    6.971878] vsp1 fe938000.vsp1: Entity type for entity fe938000.vsp1 wpf.1 was not initialized!
[    6.971883] vsp1 fe938000.vsp1: Entity type for entity fe938000.vsp1 wpf.2 was not initialized!
[    6.971889] vsp1 fe938000.vsp1: Entity type for entity fe938000.vsp1 wpf.3 was not initialized!
[    6.976671] rcar_thermal e61f0000.thermal: 1 sensor probed
[    6.983226] sh_mobile_sdhi ee100000.sd: Got CD GPIO
[    6.983737] sh_mobile_sdhi ee140000.sd: Got CD GPIO
[    7.036284] sh_mmcif ee220000.mmc: Chip version 0x0003, clock rate 12MHz
[    7.037069] usbcore: registered new interface driver usbhid
[    7.037072] usbhid: USB HID core driver
[    7.043642] rcar_sound ec500000.sound: probed
[    7.393903] mmc0: new high speed MMC card at address 0001
[    7.394296] mmcblk0: mmc0:0001 MMC08G 7.33 GiB 
[    7.394479] mmcblk0boot0: mmc0:0001 MMC08G partition 1 2.00 MiB
[    7.394652] mmcblk0boot1: mmc0:0001 MMC08G partition 2 2.00 MiB
[    7.396345]  mmcblk0: p1 p2 p3
[    9.236282] ata1: SATA link down (SStatus 0 SControl 300)
[    9.546260] NET: Registered protocol family 10
[    9.560286] sit: IPv6 over IPv4 tunneling driver
[    9.574686] NET: Registered protocol family 17
[    9.588014] can: controller area network core (rev 20120528 abi 9)
[    9.606582] NET: Registered protocol family 29
[    9.619900] can: raw protocol (rev 20120528)
[    9.632694] can: broadcast manager protocol (rev 20120528 t)
[    9.649659] can: netlink gateway (rev 20130117) max_hops=1
[    9.726333] Key type dns_resolver registered
[    9.739236] Registering SWP/SWPB emulation handler
[    9.756214] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    9.776043] [drm] No driver support for vblank timestamp query.
[    9.823325] Console: switching to colour frame buffer device 128x48
[    9.851431] rcar-du feb00000.display: fb0:  frame buffer device
[    9.869611] [drm] Device feb00000.display probed
[    9.884028] sh_mobile_sdhi ee100000.sd: Got CD GPIO
[   10.036439] sh_mobile_sdhi ee100000.sd: mmc1 base at 0xee100000 max clock rate 195 MHz
[   10.060697] sh_mobile_sdhi ee140000.sd: Got CD GPIO
[   10.206420] sh_mobile_sdhi ee140000.sd: mmc2 base at 0xee140000 max clock rate 97 MHz
[   10.231510] asoc-simple-card sound: ak4642-hifi <-> ec500000.sound mapping ok
[   10.254469] input: keyboard as /devices/platform/keyboard/input/input0
[   10.275987] da9063-rtc da9063-rtc: setting system clock to 2000-01-01 00:00:03 UTC (946684803)
[   10.301953] SDHI0 Vcc: disabling
[   10.311643] SDHI0 VccQ: disabling
[   10.321767] ALSA device list:
[   10.330654]   #0: rsnd-dai.0-ak4642-hifi
[   10.342691] Waiting for root device /dev/mmcblk2p1...
[   10.626452] mmc2: new high speed SDHC card at address 59b4
[   10.643275] mmcblk2: mmc2:59b4 USD   7.51 GiB 
[   10.657763]  mmcblk2: p1
[   10.687150] EXT4-fs (mmcblk2p1): mounting ext3 file system using the ext4 subsystem
[   11.206433] EXT4-fs (mmcblk2p1): recovery complete
[   11.222928] EXT4-fs (mmcblk2p1): mounted filesystem with ordered data mode. Opts: (null)
[   11.247221] VFS: Mounted root (ext3 filesystem) on device 179:25.
[   11.267636] devtmpfs: mounted
[   11.277249] Freeing unused kernel memory: 1024K (c0900000 - c0a00000)
Mount failed for selinuxfs on /sys/fs/selinux:  No such file or directory
[   11.601139] random: init urandom read with 41 bits of entropy available
[   11.749165] init: plymouth-upstart-bridge main process (1028) terminated with status 1
[   11.773004] init: plymouth-upstart-bridge main process ended, respawning
[   12.307312] systemd-udevd[1130]: starting version 204
[   12.657913] init: systemd-logind pre-start process (1674) terminated with status 32
[   12.827804] systemd-udevd[1385]: could not open moddep file '/lib/modules/4.7.0-rc5-dirty/modules.dep.bin'
[   12.877021] CPU5: failed to boot: -22
[   12.888962] systemd-udevd[1467]: could not open moddep file '/lib/modules/4.7.0-rc5-dirty/modules.dep.bin'
[   12.897510] CPU4: failed to boot: -22
[   12.947858] CPU6: failed to boot: -22
[   12.987650] CPU7: failed to boot: -22
 * Stopping Send an event to indicate plymouth is up[ OK ]
 * Starting Mount filesystems on boot[ OK ]
 * Starting Signal sysvinit that the rootfs is mounted[ OK ]
 * Starting Populate /dev filesystem[ OK ]
 * Stopping Populate /dev filesystem[ OK ]
 * Starting Clean /tmp directory[ OK ]
 * Starting Populate and link to /run filesystem[ OK ]
 * Stopping Populate and link to /run filesystem[ OK ]
 * Stopping Clean /tmp directory[ OK ]
 * Stopping Track if upstart is running in a container[ OK ]
 * Starting set console keymap[ OK ]
 * Starting Signal sysvinit that virtual filesystems are mounted[ OK ]
 * Starting Signal sysvinit that virtual filesystems are mounted[ OK ]
 * Starting Bridge udev events into upstart[ OK ]
 * Stopping set console keymap[ OK ]
 * Starting Signal sysvinit that local filesystems are mounted[ OK ]
 * Starting Signal sysvinit that remote filesystems are mounted[ OK ]
 * Starting device node and kernel event manager[ OK ]
 * Stopping Mount filesystems on boot[ OK ]
 * Starting flush early job output to logs[ OK ]
 * Starting Enabling additional executable binary formats[ OK ]
 * Starting load modules from /etc/modules[ OK ]
 * Starting cold plug devices[ OK ]
 * Starting log initial device creation[ OK ]
 * Stopping flush early job output to logs[ OK ]
 * Stopping load modules from /etc/modules[ OK ]
 * Starting D-Bus system message bus[ OK ]
 * Starting configure network device security[ OK ]
 * Starting SystemD login management service[fail]
 * Starting configure network device[ OK ]
 * Stopping SystemD login management service[ OK ]
 * Starting system logging daemon[ OK ]
 * Starting configure network device security[ OK ]
 * Starting configure network device[ OK ]
 * Stopping cold plug devices[ OK ]
 * Starting set console font[ OK ]
 * Stopping log initial device creation[ OK ]
 * Stopping set console font[ OK ]
 * Starting userspace bootsplash[ OK ]
 * Starting configure network device security[ OK ]
 * Stopping userspace bootsplash[ OK ]
 * Starting save udev log and update rules[ OK ]
 * Starting Send an event to indicate plymouth is up[ OK ]
 * Stopping save udev log and update rules[ OK ]
 * Stopping Send an event to indicate plymouth is up[ OK ]
 * Starting configure network device security[ OK ]
 * Starting configure network device security[ OK ]
 * Starting configure network device[ OK ]
 * Starting System V initialisation compatibility[ OK ]
 * Starting configure network device[ OK ]
Waiting for network configuration...
 * Starting Mount network filesystems[ OK ]
 * Starting Failsafe Boot Delay[ OK ]
 * Starting configure virtual network devices[ OK ]
Waiting up to 60 more seconds for network configuration...
Booting system without full network configuration...
 * Stopping Mount network filesystems[ OK ]
 * Starting Bridge file events into upstart[ OK ]
 * Starting Bridge socket events into upstart[ OK ]
No sensors found!
Make sure you loaded all the kernel drivers you need.
Try sensors-detect to find out which these are.
No sensors found!
Make sure you loaded all the kernel drivers you need.
Try sensors-detect to find out which these are.
[ OK ]ting sensors limits        
[ OK ]ting up X socket directories...        
 * Stopping System V initialisation compatibility[ OK ]
 * Starting System V runlevel compatibility[   14.400108] init: alsa-restore main process (2044) terminated with status 99
[ OK ]
 * Starting Restore Sound Card State[ OK ]
 * Starting save kernel messages[ OK ]
 * Starting regular background program processing daemon[ OK ]
 * Starting Restore Sound Card State[fail]
 * Stopping save kernel messages[ OK ]
 * Stopping Restore Sound Card State[ OK ]
 * Stopping System V runlevel compatibility[ 
 * Starting OpenSSH server[ OK ]
Last login: Sat [   14.595304] init: plymouth-upstart-bridge main process ended, respawning
Jan  1 00:00:08 UTC 2000 on tty1
Welcome to Linaro 14.04 (GNU/Linux 4.7.0-rc5-dirty armv7l)

 * Documentation:  https://wiki.linaro.org/
[   14.717433] init: tty1 main process (2089) killed by TERM signal
 * Setting sensors limits        No sensors found!
Make sure you loaded all the kernel drivers you need.
Try sensors-detect to find out which these are.
No sensors found!
Make sure you loaded all the kernel drivers you need.
Try sensors-detect to find out which these are.
[ OK ]
[ OK ]ting up X socket directories...        
root@linaro-nano:~# [   14.909776] init: alsa-restore main process (2206) terminated with status 99
[   14.991815] init: plymouth-stop pre-start process (2248) terminated with status 1

root@linaro-nano:~# [   17.130264] random: nonblocking pool is initialized

root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# cat /proc/interrupts | grep gpio
 21:          0          0          0          0     GIC-0  36 Level     e6050000.gpio
 22:          0          0          0          0     GIC-0  37 Level     e6051000.gpio
 23:          0          0          0          0     GIC-0  38 Level     e6052000.gpio
 24:          0          0          0          0     GIC-0  39 Level     e6053000.gpio
 25:          0          0          0          0     GIC-0  40 Level     e6054000.gpio
 26:          0          0          0          0     GIC-0  41 Level     e6055000.gpio
168:          0          0          0          0  e6051000.gpio  14 Edge      SW2-1
169:          0          0          0          0  e6051000.gpio  15 Level     6-0039
178:          0          0          0          0  e6051000.gpio  24 Edge      SW2-2
180:          0          0          0          0  e6051000.gpio  26 Edge      SW2-3
182:          0          0          0          0  e6051000.gpio  28 Edge      SW2-4
220:          0          0          0          0  e6053000.gpio   6 Edge      ee100000.sd cd
236:          0          0          0          0  e6053000.gpio  22 Edge      ee140000.sd cd
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# cat /proc/interrupts | grep e6051000.gpio
 22:          0          0          0          0     GIC-0  37 Level     e6051000.gpio
168:          0          0          0          0  e6051000.gpio  14 Edge      SW2-1
169:          0          0          0          0  e6051000.gpio  15 Level     6-0039
178:          0          0          0          0  e6051000.gpio  24 Edge      SW2-2
180:          0          0          0          0  e6051000.gpio  26 Edge      SW2-3
182:          0          0          0          0  e6051000.gpio  28 Edge      SW2-4
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# cd /sys/bus/i2c/drivers/adv7511;
root@linaro-nano:/sys/bus/i2c/drivers/adv7511# 
root@linaro-nano:/sys/bus/i2c/drivers/adv7511# ls
6-0039  bind  uevent  unbind
root@linaro-nano:/sys/bus/i2c/drivers/adv7511# 
root@linaro-nano:/sys/bus/i2c/drivers/adv7511# echo 6-0039 > unbind 
root@linaro-nano:/sys/bus/i2c/drivers/adv7511# 
root@linaro-nano:/sys/bus/i2c/drivers/adv7511# ls
bind  uevent  unbind
root@linaro-nano:/sys/bus/i2c/drivers/adv7511# 
root@linaro-nano:/sys/bus/i2c/drivers/adv7511# 
root@linaro-nano:/sys/bus/i2c/drivers/adv7511# 
root@linaro-nano:/sys/bus/i2c/drivers/adv7511# 
-keys;inaro-nano:/sys/bus/i2c/drivers/adv7511# cd /sys/bus/platform/drivers/gpio 
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# 
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# ls
bind  keyboard  uevent  unbind
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# 
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# 
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# echo keyboard > unbind 
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# 
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# ls
bind  uevent  unbind
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# 
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# 
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# 
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# 
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# cd ../
root@linaro-nano:/sys/bus/platform/drivers# cd gpio_rcar
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# ls
bind           e6051000.gpio  e6053000.gpio  e6055000.gpio  unbind
e6050000.gpio  e6052000.gpio  e6054000.gpio  uevent
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# 
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# 
d ot@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# echo e6051000.gpio > unbin 
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# 
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# 
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# 
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# 
p e6051000.gpioo:/sys/bus/platform/drivers/gpio_rcar# cat /proc/interrupts | gre 
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# 
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar#                           
[  189.988722] gpio_rcar e6051000.gpio: driving 30 GPIOsho e6051000.gpio > bind  
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# 
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# 
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# 
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# 
root@linaro-nano:/sys/bus/platform/drivers/gpio_rcar# cd ../gpio-keys/
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# 
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# ls
bind  uevent  unbind
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# echo keyboard > bind 
[  219.568475] input: keyboard as /devices/platform/keyboard/input/input1
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# 
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# 
root@linaro-nano:/sys/bus/platform/drivers/gpio-keys# 
v7511linaro-nano:/sys/bus/platform/drivers/gpio-keys# cd /sys/bus/i2c/drivers/ad 
root@linaro-nano:/sys/bus/i2c/drivers/adv7511# 
root@linaro-nano:/sys/bus/i2c/drivers/adv7511# 
root@linaro-nano:/sys/bus/i2c/drivers/adv7511# ls
bind  uevent  unbind
root@linaro-nano:/sys/bus/i2c/drivers/adv7511# echo 6-0039 > bind 
root@linaro-nano:/sys/bus/i2c/drivers/adv7511# 
root@linaro-nano:/sys/bus/i2c/drivers/adv7511# 
root@linaro-nano:/sys/bus/i2c/drivers/adv7511# 
root@linaro-nano:/sys/bus/i2c/drivers/adv7511# cd
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# cat /proc/interrupts | grep e6051000.gpio
 22:          0          0          0          0     GIC-0  37 Level     e6051000.gpio
168:          0          0          0          0  e6051000.gpio  14 Edge      SW2-1
169:          0          0          0          0  e6051000.gpio  15 Edge      6-0039
178:          0          0          0          0  e6051000.gpio  24 Edge      SW2-2
180:          0          0          0          0  e6051000.gpio  26 Edge      SW2-3
182:          0          0          0          0  e6051000.gpio  28 Edge      SW2-4
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~# cat /proc/interrupts | grep e6051000.gpio
 22:          7          0          0          0     GIC-0  37 Level     e6051000.gpio
168:          8          0          0          0  e6051000.gpio  14 Edge      SW2-1
169:          0          0          0          0  e6051000.gpio  15 Edge      6-0039
178:          1          0          0          0  e6051000.gpio  24 Edge      SW2-2
180:          1          0          0          0  e6051000.gpio  26 Edge      SW2-3
182:          2          0          0          0  e6051000.gpio  28 Edge      SW2-4
root@linaro-nano:~# 
root@linaro-nano:~# 
root@linaro-nano:~#
Geert Uytterhoeven July 1, 2016, 8:13 a.m. UTC | #5
Hi Hiep,

On Fri, Jul 1, 2016 at 9:58 AM, Hiep Cao Minh <cm-hiep@jinso.co.jp> wrote:
>>> As I have reported you the issue that related to your released patch.
>>> Could you please consider this issue and tell me how to resolve this
>>> problem?
>>>
>>> This issue still happens on Rcar-H2 and Rcar-M2 (Renesas's SOC) at the
>>> Linux
>>> upstream version v4.7-rc2.
>>
>> I think the patches that Torvalds merged for v4.7-rc3
>> http://lwn.net/Articles/690987/ especially these two:
>>
>> Ricardo Ribalda Delgado (2):
>>        gpiolib: Fix NULL pointer deference
>>        gpiolib: Fix unaligned used of reference counters
>>
>> Solves the issue.
>>
>> Can you verify?
>
>
> I have just verified this on v4.7-rc5, this issue still happens.
> But we find out that the issue had already happened before your following
> patch was released.
> "ff2b1359 gpio: make the gpiochip a real device" (the patch that you have
> created before)
> I mean, your patch helped us to find out the issue.
>
> To Geert-san.
>
> I'd like to divide Unbind-Rebind test  into two cases of Normal Test and
> Abnormal Test.
>
> First, If we try to unbind/rebind the gpio device(ex: key, hdmi..) then
> unbind/rebind the gpio-rcar,
> It works normally without error message. This test case is normal test.
> Refer to (GPIO_Unbind-Rebind_Abnormal-Test_log.txt)
>
> But on the other hand, If we try to unbind/rebind the gpio-rcar without
> unbinding/rebinding gpio device,
> The warning message looks like from kernel will happens. This test case is
> abnormal test.
> (Refer to GPIO_Unbind-Rebind_Normal-Test_logs.txt)
>
> In abnormal Test case, an error message occurs definitely from the driver or
> the core class of the driver.
> But I think we should consider the error or warning message looks like a
> kernel warning message.

Quoting Linus Walleij:
> It is not OK to unbind a driver providing IRQs.

The irqchip subsystem has no protection against removing devices
providing interrupt controllers. Trying to do so anyway while an interrupt
is in use will go boom.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Cao Minh Hiep July 1, 2016, 8:37 a.m. UTC | #6
Hi Geert-san

Thanks for your quick reply!

On 2016/07/01 17:13, Geert Uytterhoeven wrote:
> Hi Hiep,
>
> On Fri, Jul 1, 2016 at 9:58 AM, Hiep Cao Minh <cm-hiep@jinso.co.jp> wrote:
>>>> As I have reported you the issue that related to your released patch.
>>>> Could you please consider this issue and tell me how to resolve this
>>>> problem?
>>>>
>>>> This issue still happens on Rcar-H2 and Rcar-M2 (Renesas's SOC) at the
>>>> Linux
>>>> upstream version v4.7-rc2.
>>> I think the patches that Torvalds merged for v4.7-rc3
>>> http://lwn.net/Articles/690987/ especially these two:
>>>
>>> Ricardo Ribalda Delgado (2):
>>>         gpiolib: Fix NULL pointer deference
>>>         gpiolib: Fix unaligned used of reference counters
>>>
>>> Solves the issue.
>>>
>>> Can you verify?
>>
>> I have just verified this on v4.7-rc5, this issue still happens.
>> But we find out that the issue had already happened before your following
>> patch was released.
>> "ff2b1359 gpio: make the gpiochip a real device" (the patch that you have
>> created before)
>> I mean, your patch helped us to find out the issue.
>>
>> To Geert-san.
>>
>> I'd like to divide Unbind-Rebind test  into two cases of Normal Test and
>> Abnormal Test.
>>
>> First, If we try to unbind/rebind the gpio device(ex: key, hdmi..) then
>> unbind/rebind the gpio-rcar,
>> It works normally without error message. This test case is normal test.
>> Refer to (GPIO_Unbind-Rebind_Abnormal-Test_log.txt)
>>
>> But on the other hand, If we try to unbind/rebind the gpio-rcar without
>> unbinding/rebinding gpio device,
>> The warning message looks like from kernel will happens. This test case is
>> abnormal test.
>> (Refer to GPIO_Unbind-Rebind_Normal-Test_logs.txt)
>>
>> In abnormal Test case, an error message occurs definitely from the driver or
>> the core class of the driver.
>> But I think we should consider the error or warning message looks like a
>> kernel warning message.
> Quoting Linus Walleij:
>> It is not OK to unbind a driver providing IRQs.
> The irqchip subsystem has no protection against removing devices
> providing interrupt controllers. Trying to do so anyway while an interrupt
> is in use will go boom.
I understood!, Thanks for your explain!
I'll remove these test case out of the Program Check List.

Thank you!
Jinso/Hiep.

Patch
diff mbox

diff --git a/drivers/gpio/gpio-rcar.c b/drivers/gpio/gpio-rcar.c
index 3fe8e773d95c..ae5e81358ec5 100644
--- a/drivers/gpio/gpio-rcar.c
+++ b/drivers/gpio/gpio-rcar.c
@@ -562,6 +562,7 @@  static struct platform_driver gpio_rcar_device_driver = {
        .driver         = {
                .name   = "gpio_rcar",
                .of_match_table = of_match_ptr(gpio_rcar_of_table),
+               .suppress_bind_attrs = true,
        }
 };