Linux Framebuffer Layer development
 help / color / mirror / Atom feed
* Re: [PATCH] backlight: pwm_bl: Use SIMPLE_DEV_PM_OPS()
From: Lee Jones @ 2014-03-31  8:50 UTC (permalink / raw)
  To: linux-fbdev
In-Reply-To: <1396087871-9091-1-git-send-email-shc_work@mail.ru>

> > > > > Use the SIMPLE_DEV_PM_OPS() macro to declare the driver's pm_ops.
> > > > > 
> > > > > Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> > > > > ---
> > > > >  drivers/video/backlight/pwm_bl.c | 17 ++++-------------
> > > > >  1 file changed, 4 insertions(+), 13 deletions(-)
> > > > > 
> > > > > diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c
> > > > > index b75201f..d5e1f5b 100644
> > > > > --- a/drivers/video/backlight/pwm_bl.c
> > > > > +++ b/drivers/video/backlight/pwm_bl.c
> > > > 
> > > > [...]
> > > > 
> > > > > -static int pwm_backlight_resume(struct device *dev)
> > > > > +static int __maybe_unused pwm_bl_resume(struct device *dev)
> > > > 
> > > > What's the __maybe_unused attribute for?
> > > > 
> > > > In include/linux/compiler-gcc.h it redefines the attribute as 'unused': 
> > > > 
> > > >   #define __maybe_unused                  __attribute__((unused))
> > > > 
> > > > ... are you sure this is what you want?
> > > 
> > > Yes. This avoids compiler warnings if CONFIG_PM is unset.
> > 
> > What are the advantages of this over the config option? Besides 2
> > lines of code?
> 
> Just an increase compile coverage.

What does this mean? I replied to another one of your patches with the
same question.

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply

* Re: [PATCH] backlight: pwm_bl: Use SIMPLE_DEV_PM_OPS()
From: Alexander Shiyan @ 2014-03-31 10:36 UTC (permalink / raw)
  To: linux-fbdev
In-Reply-To: <1396251711.522321843@f325.i.mail.ru>

TW9uLCAzMSBNYXIgMjAxNCAwOTo1MDo0NyArMDEwMCDQvtGCIExlZSBKb25lcyA8bGVlLmpvbmVz
QGxpbmFyby5vcmc+Ogo+ID4gPiA+ID4gPiBVc2UgdGhlIFNJTVBMRV9ERVZfUE1fT1BTKCkgbWFj
cm8gdG8gZGVjbGFyZSB0aGUgZHJpdmVyJ3MgcG1fb3BzLgo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+
ID4gU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIFNoaXlhbiA8c2hjX3dvcmtAbWFpbC5ydT4KPiA+
ID4gPiA+ID4gLS0tCj4gPiA+ID4gPiA+ICBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wd21fYmwu
YyB8IDE3ICsrKystLS0tLS0tLS0tLS0tCj4gPiA+ID4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgNCBp
bnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IGRp
ZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wd21fYmwuYyBiL2RyaXZlcnMvdmlk
ZW8vYmFja2xpZ2h0L3B3bV9ibC5jCj4gPiA+ID4gPiA+IGluZGV4IGI3NTIwMWYuLmQ1ZTFmNWIg
MTAwNjQ0Cj4gPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3B3bV9ibC5j
Cj4gPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3B3bV9ibC5jCj4gPiA+
ID4gPiAKPiA+ID4gPiA+IFsuLi5dCj4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gLXN0YXRpYyBpbnQg
cHdtX2JhY2tsaWdodF9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQo+ID4gPiA+ID4gPiArc3Rh
dGljIGludCBfX21heWJlX3VudXNlZCBwd21fYmxfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikK
PiA+ID4gPiA+IAo+ID4gPiA+ID4gV2hhdCdzIHRoZSBfX21heWJlX3VudXNlZCBhdHRyaWJ1dGUg
Zm9yPwo+ID4gPiA+ID4gCj4gPiA+ID4gPiBJbiBpbmNsdWRlL2xpbnV4L2NvbXBpbGVyLWdjYy5o
IGl0IHJlZGVmaW5lcyB0aGUgYXR0cmlidXRlIGFzICd1bnVzZWQnOiAKPiA+ID4gPiA+IAo+ID4g
PiA+ID4gICAjZGVmaW5lIF9fbWF5YmVfdW51c2VkICAgICAgICAgICAgICAgICAgX19hdHRyaWJ1
dGVfXygodW51c2VkKSkKPiA+ID4gPiA+IAo+ID4gPiA+ID4gLi4uIGFyZSB5b3Ugc3VyZSB0aGlz
IGlzIHdoYXQgeW91IHdhbnQ/Cj4gPiA+ID4gCj4gPiA+ID4gWWVzLiBUaGlzIGF2b2lkcyBjb21w
aWxlciB3YXJuaW5ncyBpZiBDT05GSUdfUE0gaXMgdW5zZXQuCj4gPiA+IAo+ID4gPiBXaGF0IGFy
ZSB0aGUgYWR2YW50YWdlcyBvZiB0aGlzIG92ZXIgdGhlIGNvbmZpZyBvcHRpb24/IEJlc2lkZXMg
Mgo+ID4gPiBsaW5lcyBvZiBjb2RlPwo+ID4gCj4gPiBKdXN0IGFuIGluY3JlYXNlIGNvbXBpbGUg
Y292ZXJhZ2UuCj4gCj4gV2hhdCBkb2VzIHRoaXMgbWVhbj8gSSByZXBsaWVkIHRvIGFub3RoZXIg
b25lIG9mIHlvdXIgcGF0Y2hlcyB3aXRoIHRoZQo+IHNhbWUgcXVlc3Rpb24uCgpDb2RlIHBhcnRz
IGZvciBzdXNwZW5kKCkgYW5kIHJlc3VtZSgpIHdpbGwgYmUgY29tcGlsZWQgcmVnYXJkbGVzcyBv
ZgpDT05GSUdfUE0gb3B0aW9uIGFuZCB3aWxsIGJlIGRpc2NhcmRlZCBieSBsaW5rZXIgaWYgQ09O
RklHX1BNIGlzIG5vdCBzZXQuCgotLS0KCg=

^ permalink raw reply

* Re: [PATCH] backlight: pwm_bl: Use SIMPLE_DEV_PM_OPS()
From: Jingoo Han @ 2014-04-01  0:08 UTC (permalink / raw)
  To: linux-fbdev
In-Reply-To: <1396087871-9091-1-git-send-email-shc_work@mail.ru>

On Monday, March 31, 2014 7:37 PM, Lee Jones wrote:
> Mon, 31 Mar 2014 09:50:47 +0100 от Lee Jones <lee.jones@linaro.org>:
> > > > > > > Use the SIMPLE_DEV_PM_OPS() macro to declare the driver's pm_ops.
> > > > > > >
> > > > > > > Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> > > > > > > ---
> > > > > > >  drivers/video/backlight/pwm_bl.c | 17 ++++-------------
> > > > > > >  1 file changed, 4 insertions(+), 13 deletions(-)
> > > > > > >
> > > > > > > diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c
> > > > > > > index b75201f..d5e1f5b 100644
> > > > > > > --- a/drivers/video/backlight/pwm_bl.c
> > > > > > > +++ b/drivers/video/backlight/pwm_bl.c
> > > > > >
> > > > > > [...]
> > > > > >
> > > > > > > -static int pwm_backlight_resume(struct device *dev)
> > > > > > > +static int __maybe_unused pwm_bl_resume(struct device *dev)
> > > > > >
> > > > > > What's the __maybe_unused attribute for?
> > > > > >
> > > > > > In include/linux/compiler-gcc.h it redefines the attribute as 'unused':
> > > > > >
> > > > > >   #define __maybe_unused                  __attribute__((unused))
> > > > > >
> > > > > > ... are you sure this is what you want?
> > > > >
> > > > > Yes. This avoids compiler warnings if CONFIG_PM is unset.
> > > >
> > > > What are the advantages of this over the config option? Besides 2
> > > > lines of code?
> > >
> > > Just an increase compile coverage.
> >
> > What does this mean? I replied to another one of your patches with the
> > same question.
> 
> Code parts for suspend() and resume() will be compiled regardless of
> CONFIG_PM option and will be discarded by linker if CONFIG_PM is not set.

(+cc Joe Perches, Dan Carpenter)

Original patch is 
http://www.spinics.net/lists/linux-fbdev/msg14177.html

I don't think that __maybe_unused is good.
Currently, SIMPLE_DEV_PM_OPS is using "#ifdef CONFIG_PM_SLEEP" as below.
So, suspend_fn, resume_fn should be protected by "#ifdef CONFIG_PM_SLEEP".
Maybe, it is necessary to fix SET_SYSTEM_SLEEP_PM_OPS define,
in order to increase compile coverage.

./include/linux/pm.h
#define SIMPLE_DEV_PM_OPS(name, suspend_fn, resume_fn) \
const struct dev_pm_ops name = { \
        SET_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn) \
}

#ifdef CONFIG_PM_SLEEP
#define SET_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn) \
        .suspend = suspend_fn, \
        .resume = resume_fn, \
        .freeze = suspend_fn, \
        .thaw = resume_fn, \
        .poweroff = suspend_fn, \
        .restore = resume_fn,
#else
#define SET_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn)
#endif


Please, don’t remove "#ifdef CONFIG_PM_SLEEP".
Your patch can be modified as below:

--- a/drivers/video/backlight/pwm_bl.c
+++ b/drivers/video/backlight/pwm_bl.c
@@ -386,14 +386,7 @@ static int pwm_backlight_resume(struct device *dev)
 }
 #endif

-static const struct dev_pm_ops pwm_backlight_pm_ops = {
-#ifdef CONFIG_PM_SLEEP
-       .suspend = pwm_backlight_suspend,
-       .resume = pwm_backlight_resume,
-       .poweroff = pwm_backlight_suspend,
-       .restore = pwm_backlight_resume,
-#endif
-};
+static SIMPLE_DEV_PM_OPS(pwm_bl_pm_ops, pwm_bl_suspend, pwm_bl_resume);

Best regards,
Jingoo Han


^ permalink raw reply

* RE: [PATCH 2/2] Make the diu driver work without board level initilization
From: Dongsheng.Wang @ 2014-04-01  2:42 UTC (permalink / raw)
  To: Jason.Jin@freescale.com, Scott Wood, timur@tabi.org
  Cc: linux-fbdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org
In-Reply-To: <1395920287-5204-1-git-send-email-Jason.Jin@freescale.com>

DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGludXhwcGMtZGV2IFtt
YWlsdG86bGludXhwcGMtZGV2LQ0KPiBib3VuY2VzK2I0MDUzND1mcmVlc2NhbGUuY29tQGxpc3Rz
Lm96bGFicy5vcmddIE9uIEJlaGFsZiBPZiBKYXNvbiBKaW4NCj4gU2VudDogVGh1cnNkYXksIE1h
cmNoIDI3LCAyMDE0IDc6MzggUE0NCj4gVG86IFdvb2QgU2NvdHQtQjA3NDIxOyB0aW11ckB0YWJp
Lm9yZw0KPiBDYzogbGludXgtZmJkZXZAdmdlci5rZXJuZWwub3JnOyBsaW51eHBwYy1kZXZAbGlz
dHMub3psYWJzLm9yZzsgTGkgWWFuZy1MZW8tDQo+IFI1ODQ3MjsgSmluIFpoZW5neGlvbmctUjY0
MTg4DQo+IFN1YmplY3Q6IFtQQVRDSCAyLzJdIE1ha2UgdGhlIGRpdSBkcml2ZXIgd29yayB3aXRo
b3V0IGJvYXJkIGxldmVsIGluaXRpbGl6YXRpb24NCj4gDQo+IFNvIGZhciB0aGUgRElVIGRyaXZl
ciBkb2VzIG5vdCBoYXZlIGEgbWVjaGFuaXNtIHRvIGRvIHRoZQ0KPiBib2FyZCBzcGVjaWZpYyBp
bml0aWFsaXphdGlvbi4gU28gb24gc29tZSBwbGF0Zm9ybXMsDQo+IHN1Y2ggYXMgUDEwMjIsIDg2
MTAgYW5kIDUxMjEsIFRoZSBib2FyZCBzcGVjaWZpYyBpbml0aWFsaXphdGlvbg0KPiBpcyBpbXBs
bWVudGVkIGluIHRoZSBwbGF0Zm9ybSBmaWxlIHN1Y2ggcDEwMjIyX2RzLg0KPiANCj4gQWN0dWFs
bHksIHRoZSBESVUgaXMgYWxyZWFkeSBpbnRpYWxpemVkIGluIHRoZSB1LWJvb3QsIHRoZSBwaW4g
c2hhcmluZw0KPiBhbmQgdGhlIHNpZ25hbCByb3V0aW5nIGFyZSBhbHNvIHNldCBpbiB1LWJvb3Qu
IFNvIHdlIGNhbiBsZXZlcmFnZSB0aGF0DQo+IGluIGtlcm5lbCBkcml2ZXIgdG8gYXZvaWQgYm9h
cmQgc2VwZWNpZmljIGluaXRpYWxpemF0aW9uLCBlc3BlY2lhbGx5DQo+IGZvciB0aGUgY29yZW5l
dCBwbGF0Zm9ybSwgd2hpY2ggaXMgdGhlIGFic3RyYWN0aW9uIGZvciBzZXJ2ZXJhbA0KPiBwbGF0
ZnJvbXMuDQo+IA0KPiBUaGUgcG90ZW50aWFsIHByb2JsZW0gaXMgdGhhdCB3aGVuIHRoZSBzeXN0
ZW0gd2FrZXVwIGZyb20gdGhlIGRlZXANCj4gc2xlZXAsIHNvbWUgcGxhdGZvcm0gc2V0dGluZ3Mg
bWF5IG5lZWQgdG8gYmUgcmUtaW5pdGlhbGl6ZWQuIFRoZSBDUExEDQo+IGFuZCBGUEdBIHNldHRp
bmdzIHdpbGwgYmUga2VwdCwgYnV0IHRoZSBwaXhlbCBjbG9jayByZWdpc3RlciB3aGljaA0KPiB1
c3VhbGx5IGxvY2F0ZSBhdCB0aGUgZ2xvYmFsIHV0aWxpdHkgc3BhY2UgbmVlZCB0byBiZSByZWlu
aXRpYWxpemVkLg0KPiANCj4gR2VuZXJhbGx5LCB0aGUgcGl4ZWwgY2xvY2sgc2V0dGluZyB3YXMg
aW1wbGVtZW50ZWQgaW4gdGhlIHBsYXRmb3JtDQo+IGZpbGUsIEJ1dCB0aGUgcGl4ZWwgY2xvY2sg
cmVnaXN0ZXIgaXRzZWxmIHNob3VsZCBiZSBwYXJ0IG9mIHRoZSBESVUNCj4gbW9kdWxlLCBBbmQg
Zm9yIFAxMDIyLDg2MTAgYW5kIFQxMDQwLCB0aGUgcGl4ZWwgY2xvY2sgcmVnaXN0ZXIgaGF2ZSB0
aGUNCj4gc2FtZSBzdHJ1Y3R1cmUsIFNvIHdlIGNhbiBjb25zaWRlciB0byBtb3ZlIHRoZSBwaXhl
bCBjbG9jayBzZXR0aW5nDQo+IGZyb20gdGhlIHBsYXRmb3JtIHRvIHRoZSBkaXUgZHJpdmVyLiBU
aGlzIHBhdGNoIHByb3ZpZGUgdGhlIG9wdGlvbnMNCj4gc2V0IHRoZSBwaXhlbCBjbG9jayBpbiB0
aGUgZGl1IGRyaXZlci4gQnV0IHRoZSBvcmlnaW5hbCBwbGF0Zm9ybSBwaXhlbA0KPiBjbG9jayBz
ZXR0aW5nIHN0aWwgY2FuIGJlIHVzZWQgZm9yIFAxMDIyLDg2MTAgYW5kIDUxMnggd2l0aG91dCBh
bnkNCj4gdXBkYXRlLiBUbyBpbXBsZW1lbnQgdGhlIHBpeGVsIGNsb2NrIHNldHRpbmcgaW4gdGhl
IGRpdSBkcml2ZXIuIHRoZQ0KPiBmb2xsb3dpbmcgdXBkYXRlIGluIHRoZSBkaXUgZHRzIG5vZGUg
d2FzIG5lZWRlZC4NCj4gZGlzcGxheTpkaXNwbGF5QDE4MDAwMCB7DQo+IAljb21wYXRpYmxlID0g
ImZzbCx0MTA0MC1kaXUiLCAiZnNsLGRpdSI7DQo+IC0JcmVnID0gPDB4MTgwMDAwIDEwMDA+Ow0K
PiArCXJlZyA9IDwweDE4MDAwMCAxMDAwIDB4ZmMwMjggND47DQo+ICsJcGl4Y2xrID0gPDAgMjU1
IDA+Ow0KPiAgCWludGVycnVwdHMgPSA8NzQgMiAwIDA+Ow0KPiB9DQo+IFRoZSAweGZjMDI4IGlz
IHRoZSBvZmZzZXQgZm9yIHBpeGVsIGNsb2NrIHJlZ2lzdGVyLiB0aGUgMyBzZWdtZW50IG9mDQo+
IHRoZSBwaXhjbGsgc3RhbmQgZm9yIHRoZSBQWENLRExZRElSLCB0aGUgbWF4IG9mIFBYQ0sgYW5k
IHRoZSBQWENLRExZDQo+IHdoaWNoIHdpbGwgYmUgdXNlZCBieSB0aGUgcGl4ZWwgY2xvY2sgcmVn
aXN0ZXIgc2V0dGluZy4NCj4gDQo+IFRoaXMgd2FzIHRlc3RlZCBvbiBUMTA0MCBwbGF0Zm9ybS4g
Rm9yIG90aGVyIHBsYXRmb3JtLCB0aGUgb3JpZ2luYWwNCj4gbm9kZSB0b2dldGhlciB3aXRoIHRo
ZSBwbGF0Zm9ybSBzZXR0aW5ncyBzdGlsbCBjYW4gd29yay4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6
IEphc29uIEppbiA8SmFzb24uSmluQGZyZWVzY2FsZS5jb20+DQo+IC0tLQ0KPiBWMjogUmVtb3Zl
IHRoZSBwaXhlbCBjbG9jayByZWdpc3RlciBzYXZpbmcgZm9yIHN1c3BlbmQuDQo+IGFkZCB0aGUg
cGl4ZWwgY2xvY2sgc2V0dGluZyBpbiBkcml2ZXIuDQo+IA0KPiAgZHJpdmVycy92aWRlby9mc2wt
ZGl1LWZiLmMgfCA2MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
Ky0tDQo+ICAxIGZpbGUgY2hhbmdlZCwgNTkgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkN
Cj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZzbC1kaXUtZmIuYyBiL2RyaXZlcnMv
dmlkZW8vZnNsLWRpdS1mYi5jDQo+IGluZGV4IDRiYzQ3MzAuLjc5MjAzOGYgMTAwNjQ0DQo+IC0t
LSBhL2RyaXZlcnMvdmlkZW8vZnNsLWRpdS1mYi5jDQo+ICsrKyBiL2RyaXZlcnMvdmlkZW8vZnNs
LWRpdS1mYi5jDQo+IEBAIC01MCw2ICs1MCw3IEBADQo+ICAjZGVmaW5lIElOVF9QQVJFUlIJMHgw
OAkvKiBEaXNwbGF5IHBhcmFtZXRlcnMgZXJyb3IgaW50ZXJydXB0ICovDQo+ICAjZGVmaW5lIElO
VF9MU19CRl9WUwkweDEwCS8qIExpbmVzIGJlZm9yZSB2c3luYy4gaW50ZXJydXB0ICovDQo+IA0K
PiArI2RlZmluZSBQSVhDTEtDUl9QWENLRU4gMHg4MDAwMDAwMA0KPiAgLyoNCj4gICAqIExpc3Qg
b2Ygc3VwcG9ydGVkIHZpZGVvIG1vZGVzDQo+ICAgKg0KPiBAQCAtMzcyLDYgKzM3Myw4IEBAIHN0
cnVjdCBmc2xfZGl1X2RhdGEgew0KPiAgCXVuc2lnbmVkIGludCBpcnE7DQo+ICAJZW51bSBmc2xf
ZGl1X21vbml0b3JfcG9ydCBtb25pdG9yX3BvcnQ7DQo+ICAJc3RydWN0IGRpdSBfX2lvbWVtICpk
aXVfcmVnOw0KPiArCXZvaWQgX19pb21lbSAqcGl4ZWxjbGtfcmVnOw0KPiArCXUzMiBwaXhjbGtj
clszXTsNCj4gIAlzcGlubG9ja190IHJlZ19sb2NrOw0KPiAgCXU4IGR1bW15X2FvaVs0ICogNCAq
IDRdOw0KPiAgCXN0cnVjdCBkaXVfYWQgZHVtbXlfYWQgX19hbGlnbmVkKDgpOw0KPiBAQCAtNDc5
LDcgKzQ4MiwxMCBAQCBzdGF0aWMgZW51bSBmc2xfZGl1X21vbml0b3JfcG9ydCBmc2xfZGl1X25h
bWVfdG9fcG9ydChjb25zdA0KPiBjaGFyICpzKQ0KPiAgCQkJcG9ydCA9IEZTTF9ESVVfUE9SVF9E
TFZEUzsNCj4gIAl9DQo+IA0KPiAtCXJldHVybiBkaXVfb3BzLnZhbGlkX21vbml0b3JfcG9ydChw
b3J0KTsNCj4gKwlpZiAoZGl1X29wcy52YWxpZF9tb25pdG9yX3BvcnQpDQo+ICsJCXJldHVybiBk
aXVfb3BzLnZhbGlkX21vbml0b3JfcG9ydChwb3J0KTsNCj4gKwllbHNlDQpSZW1vdmUgdGhpcyAi
ZWxzZSIsIG90aGVyd2lzZSBsb29rcyBnb29kLg0KDQpSZWdhcmRzLA0KLURvbmdzaGVuZw0KPiAr
CQlyZXR1cm4gcG9ydDsNCj4gIH0NCj4gDQoNCg=

^ permalink raw reply

* RE: [PATCH 2/2] Make the diu driver work without board level initilization
From: Li.Xiubo @ 2014-04-01  2:57 UTC (permalink / raw)
  To: Jason.Jin@freescale.com, Scott Wood, timur@tabi.org
  Cc: linux-fbdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org
In-Reply-To: <1395920287-5204-1-git-send-email-Jason.Jin@freescale.com>

> @@ -1752,6 +1793,22 @@ static int fsl_diu_probe(struct platform_device *pdev)
>  		goto error;
>  	}
> 
> +	if (!diu_ops.set_pixel_clock) {
> +		data->pixelclk_reg = of_iomap(np, 1);
> +		if (!data->pixelclk_reg) {
> +			dev_err(&pdev->dev, "Cannot map pixelclk registers, please \
> +				provide the diu_ops for pixclk setting instead.\n");

The error message should be in one line if possible, or it will hard to grep.
If cannot, should split it into two or more lines, like:
 +			dev_err(&pdev->dev, "Cannot map pixelclk registers,\n"
 +				"please provide the diu_ops for pixclk setting instead.\n");

Thanks,

BRs
Xiubo



^ permalink raw reply

* RE: [PATCH 2/2] Make the diu driver work without board level initilization
From: Jason.Jin @ 2014-04-01  7:28 UTC (permalink / raw)
  To: Li.Xiubo@freescale.com, Scott Wood, timur@tabi.org
  Cc: linux-fbdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org
In-Reply-To: <1305603ae9b846d9bc4c78f21a8c0494@BY2PR03MB505.namprd03.prod.outlook.com>

> > +	if (!diu_ops.set_pixel_clock) {
> > +		data->pixelclk_reg = of_iomap(np, 1);
> > +		if (!data->pixelclk_reg) {
> > +			dev_err(&pdev->dev, "Cannot map pixelclk registers,
> please \
> > +				provide the diu_ops for pixclk setting
> instead.\n");
> 
> The error message should be in one line if possible, or it will hard to
> grep.
> If cannot, should split it into two or more lines, like:
>  +			dev_err(&pdev->dev, "Cannot map pixelclk registers,\n"
>  +				"please provide the diu_ops for pixclk setting
> instead.\n");
Thanks, This has been fixed in the update version, please help to review it at:
http://patchwork.ozlabs.org/patch/335225/
I forgot to add the V2 information in the subject in the update patch so this may confuse the reviewer, sorry for that.

Best Regards,
Jason 

^ permalink raw reply

* Re: [PATCH] video: da8xx-fb: Add support for Densitron 84-0023-001T
From: Tomi Valkeinen @ 2014-04-01  9:14 UTC (permalink / raw)
  To: jon; +Cc: plagnioj, linux-fbdev, linux-kernel, Jon Ringle
In-Reply-To: <1394042711-7907-1-git-send-email-jon@ringle.org>

[-- Attachment #1: Type: text/plain, Size: 838 bytes --]

Hi,

On 05/03/14 20:05, jon@ringle.org wrote:
> From: Jon Ringle <jringle@gridpoint.com>
> 
> Signed-off-by: Jon Ringle <jringle@gridpoint.com>
> ---
>  drivers/video/da8xx-fb.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
> index e7f5937..83c43b2 100644
> --- a/drivers/video/da8xx-fb.c
> +++ b/drivers/video/da8xx-fb.c
> @@ -243,6 +243,20 @@ static struct fb_videomode known_lcd_panels[] = {
>  		.sync           = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
>  		.flag           = 0,
>  	},
> +	[3] = {
> +		/* Densitron 84-0023-001T */
> +		.name           = "Densitron_LCD",

I think the name should be a bit better. Why it is not something like
"Densitron_84-0023-001T", which is the style the other panels use?

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

^ permalink raw reply

* [PATCH v2 1/2] video: da8xx-fb: Add support for Densitron 84-0023-001T
From: jon @ 2014-04-01 12:33 UTC (permalink / raw)
  To: linux-kernel, linux-fbdev; +Cc: tomi.valkeinen, plagnioj, Jon Ringle

From: Jon Ringle <jringle@gridpoint.com>

Signed-off-by: Jon Ringle <jringle@gridpoint.com>
---
 drivers/video/da8xx-fb.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
index e030e17..d042624 100644
--- a/drivers/video/da8xx-fb.c
+++ b/drivers/video/da8xx-fb.c
@@ -243,6 +243,20 @@ static struct fb_videomode known_lcd_panels[] = {
 		.sync           = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
 		.flag           = 0,
 	},
+	[3] = {
+		/* Densitron 84-0023-001T */
+		.name           = "Densitron_LCD",
+		.xres           = 320,
+		.yres           = 240,
+		.pixclock       = KHZ2PICOS(6400),
+		.left_margin    = 0,
+		.right_margin   = 0,
+		.upper_margin   = 0,
+		.lower_margin   = 0,
+		.hsync_len      = 30,
+		.vsync_len      = 3,
+		.sync           = 0,
+	},
 };
 
 static bool da8xx_fb_is_raster_enabled(void)
-- 
1.8.5.4


^ permalink raw reply related

* [PATCH v2 2/2] video: da8xx-fb: Fix casting of info->pseudo_palette
From: jon @ 2014-04-01 12:33 UTC (permalink / raw)
  To: linux-kernel, linux-fbdev; +Cc: tomi.valkeinen, plagnioj, Jon Ringle
In-Reply-To: <1396355585-458-1-git-send-email-jon@ringle.org>

From: Jon Ringle <jringle@gridpoint.com>

The casting to (u16 *) on info->pseudo_palette is wrong and causes the
display to show a blue (garbage) vertical line on every other pixel column

Signed-off-by: Jon Ringle <jringle@gridpoint.com>
---
 drivers/video/da8xx-fb.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
index d042624..83c43b2 100644
--- a/drivers/video/da8xx-fb.c
+++ b/drivers/video/da8xx-fb.c
@@ -678,15 +678,7 @@ static int fb_setcolreg(unsigned regno, unsigned red, unsigned green,
 			(green << info->var.green.offset) |
 			(blue << info->var.blue.offset);
 
-		switch (info->var.bits_per_pixel) {
-		case 16:
-			((u16 *) (info->pseudo_palette))[regno] = v;
-			break;
-		case 24:
-		case 32:
-			((u32 *) (info->pseudo_palette))[regno] = v;
-			break;
-		}
+		((u32 *) (info->pseudo_palette))[regno] = v;
 		if (palette[0] != 0x4000) {
 			update_hw = 1;
 			palette[0] = 0x4000;
-- 
1.8.5.4


^ permalink raw reply related

* Re: [PATCH v2 1/2] video: da8xx-fb: Add support for Densitron 84-0023-001T
From: Jon Ringle @ 2014-04-01 12:36 UTC (permalink / raw)
  To: linux-kernel@vger.kernel.org, linux-fbdev
  Cc: tomi.valkeinen, plagnioj, Jon Ringle
In-Reply-To: <1396355585-458-1-git-send-email-jon@ringle.org>

On Tue, Apr 1, 2014 at 8:33 AM,  <jon@ringle.org> wrote:
> From: Jon Ringle <jringle@gridpoint.com>
>
> Signed-off-by: Jon Ringle <jringle@gridpoint.com>
> ---
>  drivers/video/da8xx-fb.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
>
> diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
> index e030e17..d042624 100644
> --- a/drivers/video/da8xx-fb.c
> +++ b/drivers/video/da8xx-fb.c
> @@ -243,6 +243,20 @@ static struct fb_videomode known_lcd_panels[] = {
>                 .sync           = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
>                 .flag           = 0,
>         },
> +       [3] = {
> +               /* Densitron 84-0023-001T */
> +               .name           = "Densitron_LCD",

Crap. I'm sorry. I will resend again. with the correct patch with the
name Tomi suggested

Jon

^ permalink raw reply

* [PATCH v3 1/2] video: da8xx-fb: Add support for Densitron 84-0023-001T
From: jon @ 2014-04-01 12:39 UTC (permalink / raw)
  To: linux-kernel, linux-fbdev; +Cc: tomi.valkeinen, plagnioj, Jon Ringle

From: Jon Ringle <jringle@gridpoint.com>

Signed-off-by: Jon Ringle <jringle@gridpoint.com>
---
 drivers/video/da8xx-fb.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
index e030e17..233f65f 100644
--- a/drivers/video/da8xx-fb.c
+++ b/drivers/video/da8xx-fb.c
@@ -243,6 +243,20 @@ static struct fb_videomode known_lcd_panels[] = {
 		.sync           = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
 		.flag           = 0,
 	},
+	[3] = {
+		/* Densitron 84-0023-001T */
+		.name           = "Densitron_84-0023-001T",
+		.xres           = 320,
+		.yres           = 240,
+		.pixclock       = KHZ2PICOS(6400),
+		.left_margin    = 0,
+		.right_margin   = 0,
+		.upper_margin   = 0,
+		.lower_margin   = 0,
+		.hsync_len      = 30,
+		.vsync_len      = 3,
+		.sync           = 0,
+	},
 };
 
 static bool da8xx_fb_is_raster_enabled(void)
-- 
1.8.5.4


^ permalink raw reply related

* [PATCH v3 2/2] video: da8xx-fb: Fix casting of info->pseudo_palette
From: jon @ 2014-04-01 12:39 UTC (permalink / raw)
  To: linux-kernel, linux-fbdev; +Cc: tomi.valkeinen, plagnioj, Jon Ringle
In-Reply-To: <1396355974-2257-1-git-send-email-jon@ringle.org>

From: Jon Ringle <jringle@gridpoint.com>

The casting to (u16 *) on info->pseudo_palette is wrong and causes the
display to show a blue (garbage) vertical line on every other pixel column

Signed-off-by: Jon Ringle <jringle@gridpoint.com>
---
 drivers/video/da8xx-fb.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
index 233f65f..c17f901 100644
--- a/drivers/video/da8xx-fb.c
+++ b/drivers/video/da8xx-fb.c
@@ -678,15 +678,7 @@ static int fb_setcolreg(unsigned regno, unsigned red, unsigned green,
 			(green << info->var.green.offset) |
 			(blue << info->var.blue.offset);
 
-		switch (info->var.bits_per_pixel) {
-		case 16:
-			((u16 *) (info->pseudo_palette))[regno] = v;
-			break;
-		case 24:
-		case 32:
-			((u32 *) (info->pseudo_palette))[regno] = v;
-			break;
-		}
+		((u32 *) (info->pseudo_palette))[regno] = v;
 		if (palette[0] != 0x4000) {
 			update_hw = 1;
 			palette[0] = 0x4000;
-- 
1.8.5.4


^ permalink raw reply related

* Re: [PATCH 2/2] Make the diu driver work without board level initilization
From: Scott Wood @ 2014-04-01 21:38 UTC (permalink / raw)
  To: Jin Zhengxiong-R64188
  Cc: linux-fbdev@vger.kernel.org, Xiubo Li-B47053,
	linuxppc-dev@lists.ozlabs.org, timur@tabi.org
In-Reply-To: <57b9d96d00f64eff90ae6c109c9dec90@BLUPR03MB373.namprd03.prod.outlook.com>

On Tue, 2014-04-01 at 02:28 -0500, Jin Zhengxiong-R64188 wrote:
> > > +	if (!diu_ops.set_pixel_clock) {
> > > +		data->pixelclk_reg = of_iomap(np, 1);
> > > +		if (!data->pixelclk_reg) {
> > > +			dev_err(&pdev->dev, "Cannot map pixelclk registers,
> > please \
> > > +				provide the diu_ops for pixclk setting
> > instead.\n");
> > 
> > The error message should be in one line if possible, or it will hard to
> > grep.
> > If cannot, should split it into two or more lines, like:
> >  +			dev_err(&pdev->dev, "Cannot map pixelclk registers,\n"
> >  +				"please provide the diu_ops for pixclk setting
> > instead.\n");
> Thanks, This has been fixed in the update version, please help to review it at:
> http://patchwork.ozlabs.org/patch/335225/
> I forgot to add the V2 information in the subject in the update patch so this may confuse the reviewer, sorry for that.

It is not fixed in that patch (or did you link the wrong version?).  You
should never use \ to continue a line in C, other than in macros.

Further, it is not permitted to wrap kernel output strings.  This is an
exception to the 80-column rule.  Checkpatch should have told you this.

-Scott



^ permalink raw reply

* RE: [PATCH 2/2] Make the diu driver work without board level initilization
From: Jason.Jin @ 2014-04-02  0:22 UTC (permalink / raw)
  To: Scott Wood
  Cc: linux-fbdev@vger.kernel.org, Li.Xiubo@freescale.com,
	linuxppc-dev@lists.ozlabs.org, timur@tabi.org
In-Reply-To: <1396388317.32034.14.camel@snotra.buserror.net>

DQo+ID4gVGhhbmtzLCBUaGlzIGhhcyBiZWVuIGZpeGVkIGluIHRoZSB1cGRhdGUgdmVyc2lvbiwg
cGxlYXNlIGhlbHAgdG8NCj4gcmV2aWV3IGl0IGF0Og0KPiA+IGh0dHA6Ly9wYXRjaHdvcmsub3ps
YWJzLm9yZy9wYXRjaC8zMzUyMjUvDQo+ID4gSSBmb3Jnb3QgdG8gYWRkIHRoZSBWMiBpbmZvcm1h
dGlvbiBpbiB0aGUgc3ViamVjdCBpbiB0aGUgdXBkYXRlIHBhdGNoDQo+IHNvIHRoaXMgbWF5IGNv
bmZ1c2UgdGhlIHJldmlld2VyLCBzb3JyeSBmb3IgdGhhdC4NCj4gDQo+IEl0IGlzIG5vdCBmaXhl
ZCBpbiB0aGF0IHBhdGNoIChvciBkaWQgeW91IGxpbmsgdGhlIHdyb25nIHZlcnNpb24/KS4gIFlv
dQ0KPiBzaG91bGQgbmV2ZXIgdXNlIFwgdG8gY29udGludWUgYSBsaW5lIGluIEMsIG90aGVyIHRo
YW4gaW4gbWFjcm9zLg0KPiANCj4gRnVydGhlciwgaXQgaXMgbm90IHBlcm1pdHRlZCB0byB3cmFw
IGtlcm5lbCBvdXRwdXQgc3RyaW5ncy4gIFRoaXMgaXMgYW4NCj4gZXhjZXB0aW9uIHRvIHRoZSA4
MC1jb2x1bW4gcnVsZS4gIENoZWNrcGF0Y2ggc2hvdWxkIGhhdmUgdG9sZCB5b3UgdGhpcy4NCltK
YXNvbiBKaW4tUjY0MTg4XSBUaGFua3MgZm9yIHBvaW50aW5nIG91dCB0aGlzLCBJIGNvbmZ1c2Vk
IHRoZSBpbnRlcm5hbCB2ZXJzaW9uIGFuZCBleHRlcm5hbCB2ZXJzaW9uLiBJJ2xsIGZpeCBpdCBp
biBuZXh0IHZlcnNpb24uIFRoYW5rcy4NCg=

^ permalink raw reply

* re: video: pxa3xx-gcu: switch to devres functions
From: Dan Carpenter @ 2014-04-02 11:15 UTC (permalink / raw)
  To: linux-fbdev

Hello Daniel Mack,

The patch a9b47c7f2390: "video: pxa3xx-gcu: switch to devres
functions" from Mar 5, 2014, leads to the following static checker
warning:

	drivers/video/fbdev/pxa3xx-gcu.c:616 pxa3xx_gcu_probe()
	warn: 'priv->mmio_base' isn't an ERR_PTR

drivers/video/fbdev/pxa3xx-gcu.c
   612  
   613          /* handle IO resources */
   614          r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
   615          priv->mmio_base = devm_request_and_ioremap(dev, r);
   616          if (IS_ERR(priv->mmio_base)) {

devm_request_and_ioremap() returns NULL on error.

   617                  dev_err(dev, "failed to map I/O memory\n");
   618                  return PTR_ERR(priv->mmio_base);
   619          }
   620  

regards,
dan carpenter

^ permalink raw reply

* Re: video: pxa3xx-gcu: switch to devres functions
From: Jingoo Han @ 2014-04-03  0:04 UTC (permalink / raw)
  To: linux-fbdev
In-Reply-To: <20140402111519.GC23000@mwanda>

On Wednesday, April 02, 2014 8:15 PM, Dan Carpenter wrote:
> 
> Hello Daniel Mack,
> 
> The patch a9b47c7f2390: "video: pxa3xx-gcu: switch to devres
> functions" from Mar 5, 2014, leads to the following static checker
> warning:
> 
> 	drivers/video/fbdev/pxa3xx-gcu.c:616 pxa3xx_gcu_probe()
> 	warn: 'priv->mmio_base' isn't an ERR_PTR
> 
> drivers/video/fbdev/pxa3xx-gcu.c
>    612
>    613          /* handle IO resources */
>    614          r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>    615          priv->mmio_base = devm_request_and_ioremap(dev, r);
>    616          if (IS_ERR(priv->mmio_base)) {
> 
> devm_request_and_ioremap() returns NULL on error.

Yes, you're right.
It should be replaced with devm_ioremap_resource().
I will send the patch, soon.

Best regards,
Jingoo Han

> 
>    617                  dev_err(dev, "failed to map I/O memory\n");
>    618                  return PTR_ERR(priv->mmio_base);
>    619          }
>    620
> 
> regards,
> dan carpenter
> --


^ permalink raw reply

* [PATCH] video: pxa3xx-gcu: use devm_ioremap_resource()
From: Jingoo Han @ 2014-04-03  0:09 UTC (permalink / raw)
  To: linux-fbdev

Use devm_ioremap_resource() because devm_request_and_ioremap() is
obsoleted by devm_ioremap_resource().

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Cc: Daniel Mack <zonque@gmail.com>
Cc: Dan Carpenter <dan.carpenter@oracle.com>
---
 drivers/video/fbdev/pxa3xx-gcu.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/video/fbdev/pxa3xx-gcu.c b/drivers/video/fbdev/pxa3xx-gcu.c
index 417f9a2..dd8bc18 100644
--- a/drivers/video/fbdev/pxa3xx-gcu.c
+++ b/drivers/video/fbdev/pxa3xx-gcu.c
@@ -612,7 +612,7 @@ static int pxa3xx_gcu_probe(struct platform_device *pdev)
 
 	/* handle IO resources */
 	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	priv->mmio_base = devm_request_and_ioremap(dev, r);
+	priv->mmio_base = devm_ioremap_resource(dev, r);
 	if (IS_ERR(priv->mmio_base)) {
 		dev_err(dev, "failed to map I/O memory\n");
 		return PTR_ERR(priv->mmio_base);
-- 
1.7.10.4



^ permalink raw reply related

* [PATCH] video: mx3fb: Add backlight support
From: Alexander Stein @ 2014-04-03  7:37 UTC (permalink / raw)
  To: linux-fbdev

Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
---
 drivers/video/mx3fb.c | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 98 insertions(+)

diff --git a/drivers/video/mx3fb.c b/drivers/video/mx3fb.c
index 142e860..10a7244 100644
--- a/drivers/video/mx3fb.c
+++ b/drivers/video/mx3fb.c
@@ -27,6 +27,7 @@
 #include <linux/clk.h>
 #include <linux/mutex.h>
 #include <linux/dma/ipu-dma.h>
+#include <linux/backlight.h>
 
 #include <linux/platform_data/dma-imx.h>
 #include <linux/platform_data/video-mx3fb.h>
@@ -34,6 +35,12 @@
 #include <asm/io.h>
 #include <asm/uaccess.h>
 
+#if defined(CONFIG_BACKLIGHT_CLASS_DEVICE) || \
+	(defined(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE) && \
+		defined(CONFIG_MX3FB_MODULE))
+#define PWM_BACKLIGHT_AVAILABLE
+#endif
+
 #define MX3FB_NAME		"mx3_sdc_fb"
 
 #define MX3FB_REG_OFFSET	0xB4
@@ -242,6 +249,10 @@ struct mx3fb_data {
 	spinlock_t		lock;
 	struct device		*dev;
 
+#ifdef PWM_BACKLIGHT_AVAILABLE
+	struct backlight_device	*bl;
+#endif
+
 	uint32_t		h_start_width;
 	uint32_t		v_start_width;
 	enum disp_data_mapping	disp_data_fmt;
@@ -271,6 +282,74 @@ struct mx3fb_info {
 	struct fb_var_screeninfo	cur_var; /* current var info */
 };
 
+static void sdc_set_brightness(struct mx3fb_data *mx3fb, uint8_t value);
+
+#ifdef PWM_BACKLIGHT_AVAILABLE
+static u32 sdc_get_brightness(struct mx3fb_data *mx3fb);
+
+static int mx3fb_bl_get_brightness(struct backlight_device *bl)
+{
+	struct mx3fb_data *fbd = bl_get_data(bl);
+
+	return sdc_get_brightness(fbd);
+}
+
+static int mx3fb_bl_update_status(struct backlight_device *bl)
+{
+	struct mx3fb_data *fbd = bl_get_data(bl);
+	int brightness = bl->props.brightness;
+
+	if (bl->props.power != FB_BLANK_UNBLANK)
+		brightness = 0;
+	if (bl->props.fb_blank != FB_BLANK_UNBLANK)
+		brightness = 0;
+
+	fbd->backlight_level = (fbd->backlight_level & ~0xFF) | brightness;
+
+	sdc_set_brightness(fbd, fbd->backlight_level);
+
+	return 0;
+}
+
+static const struct backlight_ops mx3fb_lcdc_bl_ops = {
+	.update_status = mx3fb_bl_update_status,
+	.get_brightness = mx3fb_bl_get_brightness,
+};
+
+static void mx3fb_init_backlight(struct mx3fb_data *fbd)
+{
+	struct backlight_properties props;
+	struct backlight_device	*bl;
+
+	if (fbd->bl)
+		return;
+
+	memset(&props, 0, sizeof(struct backlight_properties));
+	props.max_brightness = 0xff;
+	props.type = BACKLIGHT_RAW;
+	sdc_set_brightness(fbd, fbd->backlight_level);
+
+	bl = backlight_device_register("mx3fb-bl", fbd->dev, fbd,
+				       &mx3fb_lcdc_bl_ops, &props);
+	if (IS_ERR(bl)) {
+		dev_err(fbd->dev, "error %ld on backlight register\n",
+				PTR_ERR(bl));
+		return;
+	}
+
+	fbd->bl = bl;
+	bl->props.power = FB_BLANK_UNBLANK;
+	bl->props.fb_blank = FB_BLANK_UNBLANK;
+	bl->props.brightness = mx3fb_bl_get_brightness(bl);
+}
+
+static void mx3fb_exit_backlight(struct mx3fb_data *fbd)
+{
+	if (fbd->bl)
+		backlight_device_unregister(fbd->bl);
+}
+#endif
+
 static void mx3fb_dma_done(void *);
 
 /* Used fb-mode and bpp. Can be set on kernel command line, therefore file-static. */
@@ -628,6 +707,18 @@ static int sdc_set_global_alpha(struct mx3fb_data *mx3fb, bool enable, uint8_t a
 	return 0;
 }
 
+#ifdef PWM_BACKLIGHT_AVAILABLE
+static u32 sdc_get_brightness(struct mx3fb_data *mx3fb)
+{
+	u32 brightness;
+
+	brightness = mx3fb_read_reg(mx3fb, SDC_PWM_CTRL);
+	brightness = (brightness >> 16) & 0xFF;
+
+	return brightness;
+}
+#endif
+
 static void sdc_set_brightness(struct mx3fb_data *mx3fb, uint8_t value)
 {
 	dev_dbg(mx3fb->dev, "%s: value = %d\n", __func__, value);
@@ -1534,6 +1625,9 @@ static int mx3fb_probe(struct platform_device *pdev)
 	if (ret < 0)
 		goto eisdc0;
 
+#ifdef PWM_BACKLIGHT_AVAILABLE
+	mx3fb_init_backlight(mx3fb);
+#endif
 	return 0;
 
 eisdc0:
@@ -1557,6 +1651,10 @@ static int mx3fb_remove(struct platform_device *dev)
 	chan = &mx3_fbi->idmac_channel->dma_chan;
 	release_fbi(fbi);
 
+#ifdef PWM_BACKLIGHT_AVAILABLE
+	mx3fb_exit_backlight(mx3fb);
+#endif
+
 	dma_release_channel(chan);
 	dmaengine_put();
 
-- 
1.8.3.2


^ permalink raw reply related

* [GIT PULL] main fbdev changes for 3.15
From: Tomi Valkeinen @ 2014-04-04  9:59 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, Jean-Christophe PLAGNIOL-VILLARD, linux-fbdev

[-- Attachment #1: Type: text/plain, Size: 6651 bytes --]

Hi Linus,

Please pull the main fbdev changes for 3.15.

 Tomi

The following changes since commit b28a960c42fcd9cfc987441fa6d1c1a471f0f9ed:

  Linux 3.14-rc2 (2014-02-09 18:15:47 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux.git tags/fbdev-main-3.15

for you to fetch changes up to 13ba0ad4490c3dd08b15c430a7a01c6fb45d5bce:

  fbdev: Make the switch from generic to native driver less alarming (2014-04-03 12:47:16 +0300)

----------------------------------------------------------------
fbdev changes for 3.15 (main part)

Various fbdev fixes and improvements, but nothing big.

----------------------------------------------------------------
Adam Jackson (1):
      fbdev: Make the switch from generic to native driver less alarming

Alexander Shiyan (6):
      video: imxfb: Use regulator API with LCD class for powering
      video: imxfb: Remove dead declaration of set_imx_fb_info()
      video: imxfb: Remove unused fields from platform data structure
      video: imxfb: Use module_platform_driver()
      video: imxfb: Resolve mismatch between backlight/contrast
      video: imxfb: Convert to SIMPLE_DEV_PM_OPS

Antoine Ténart (1):
      video: atmel_lcdfb: ensure the hardware is initialized with the correct mode

Bo Shen (1):
      Video: atmel: avoid the id of fix screen info is overwritten

Dan Carpenter (1):
      sisfb: fix 1280x720 resolution support

Daniel Mack (4):
      video: pxa3xx-gcu: rename some symbols
      video: pxa3xx-gcu: pass around struct device *
      video: pxa3xx-gcu: provide an empty .open call
      video: pxa3xx-gcu: switch to devres functions

David Herrmann (2):
      fbdev: efifb: add dev->remove() callback
      fbdev: vesafb: add dev->remove() callback

Denis Carikli (1):
      video: imxfb: Add DT default contrast control register property.

Geert Uytterhoeven (1):
      fbdev: FB_OPENCORES should depend on HAS_DMA

Keith Packard (1):
      fbcon: Clean up fbcon data in fb_info on FB_EVENT_FB_UNBIND with 0 fbs

Manish Badarkhe (1):
      video: da8xx-fb: Use "SIMPLE_DEV_PM_OPS" macro

Michal Simek (1):
      video: xilinxfb: Move xilinxfb_platform_data directly to the driver

Mikulas Patocka (10):
      matroxfb: set FBINFO_READS_FAST
      matroxfb: restore the registers M_ACCESS and M_PITCH
      framebuffer: fix cfb_copyarea
      atyfb: remove resolution limit 1600
      mach64: use unaligned access
      atyfb: set FBINFO_READS_FAST
      mach64: fix cursor when character width is not a multiple of 8 pixels
      tgafb: fix mode setting with fbset
      tgafb: fix data copying
      tgafb: avoid restriction on modes with line length not a multiple of 64

Sachin Kamat (2):
      video: exynos: Remove OF dependency for Exynos DP
      video: s6e8ax0: Use devm_* APIs

Tomi Valkeinen (3):
      OMAPDSS: use DISPC register to detect context loss
      OMAPDSS: Remove unused get_context_loss_count support
      OMAPDSS: convert pixel clock to common videomode style

Wang YanQing (2):
      video: fbdev: uvesafb: Remove redundant NULL check in uvesafb_remove
      video: fbdev: uvesafb: Remove impossible code path in uvesafb_init_info

 .../devicetree/bindings/video/fsl,imx-fb.txt       |   4 +
 arch/arm/mach-imx/mach-mx27ads.c                   |  55 ++-
 arch/arm/mach-omap2/display.c                      |   1 -
 drivers/gpu/drm/omapdrm/omap_connector.c           |   6 +-
 drivers/video/Kconfig                              |   2 +-
 drivers/video/atmel_lcdfb.c                        |   8 +-
 drivers/video/aty/atyfb_base.c                     |   7 +-
 drivers/video/aty/mach64_accel.c                   |   3 +-
 drivers/video/aty/mach64_cursor.c                  |  22 +-
 drivers/video/cfbcopyarea.c                        | 153 +++++----
 drivers/video/console/fbcon.c                      |  27 +-
 drivers/video/da8xx-fb.c                           |  22 +-
 drivers/video/efifb.c                              |  13 +-
 drivers/video/exynos/Kconfig                       |   2 +-
 drivers/video/exynos/s6e8ax0.c                     |  13 +-
 drivers/video/fbmem.c                              |   3 +-
 drivers/video/imxfb.c                              | 380 +++++++++------------
 drivers/video/matrox/matroxfb_accel.c              |  38 ++-
 drivers/video/matrox/matroxfb_base.c               |   3 +-
 drivers/video/matrox/matroxfb_base.h               |   2 +
 .../video/omap2/displays-new/connector-analog-tv.c |   2 +-
 drivers/video/omap2/displays-new/connector-dvi.c   |   2 +-
 drivers/video/omap2/displays-new/connector-hdmi.c  |   2 +-
 drivers/video/omap2/displays-new/panel-dsi-cm.c    |   2 +-
 .../omap2/displays-new/panel-lgphilips-lb035q02.c  |   2 +-
 .../omap2/displays-new/panel-nec-nl8048hl11.c      |   4 +-
 .../omap2/displays-new/panel-sharp-ls037v7dw01.c   |   2 +-
 .../omap2/displays-new/panel-sony-acx565akm.c      |   2 +-
 .../omap2/displays-new/panel-tpo-td028ttec1.c      |   2 +-
 .../omap2/displays-new/panel-tpo-td043mtea1.c      |   2 +-
 drivers/video/omap2/dss/dispc.c                    |  32 +-
 drivers/video/omap2/dss/display-sysfs.c            |   4 +-
 drivers/video/omap2/dss/display.c                  |   4 +-
 drivers/video/omap2/dss/dpi.c                      |  25 +-
 drivers/video/omap2/dss/dsi.c                      |  16 +-
 drivers/video/omap2/dss/dss.c                      |  16 -
 drivers/video/omap2/dss/dss.h                      |   2 -
 drivers/video/omap2/dss/hdmi4.c                    |   9 +-
 drivers/video/omap2/dss/hdmi_common.c              |  74 ++--
 drivers/video/omap2/dss/sdi.c                      |  15 +-
 drivers/video/omap2/dss/venc.c                     |   4 +-
 drivers/video/omap2/dss/venc_panel.c               |   2 +-
 drivers/video/omap2/omapfb/omapfb-main.c           |   8 +-
 drivers/video/pxa3xx-gcu.c                         | 191 +++++------
 drivers/video/sis/init.c                           |   1 +
 drivers/video/tgafb.c                              | 288 ++++------------
 drivers/video/uvesafb.c                            |  15 +-
 drivers/video/vesafb.c                             |  13 +-
 drivers/video/xilinxfb.c                           |  15 +-
 include/linux/platform_data/video-imxfb.h          |  12 -
 include/linux/xilinxfb.h                           |  30 --
 include/video/omapdss.h                            |   5 +-
 52 files changed, 695 insertions(+), 872 deletions(-)
 delete mode 100644 include/linux/xilinxfb.h


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply

* Re: [PATCH v3 2/2] video: da8xx-fb: Fix casting of info->pseudo_palette
From: Tomi Valkeinen @ 2014-04-04 10:49 UTC (permalink / raw)
  To: jon, linux-kernel, linux-fbdev; +Cc: plagnioj, Jon Ringle, Etheridge, Darren
In-Reply-To: <1396355974-2257-2-git-send-email-jon@ringle.org>

[-- Attachment #1: Type: text/plain, Size: 1268 bytes --]

On 01/04/14 15:39, jon@ringle.org wrote:
> From: Jon Ringle <jringle@gridpoint.com>
> 
> The casting to (u16 *) on info->pseudo_palette is wrong and causes the
> display to show a blue (garbage) vertical line on every other pixel column
> 
> Signed-off-by: Jon Ringle <jringle@gridpoint.com>
> ---
>  drivers/video/da8xx-fb.c | 10 +---------
>  1 file changed, 1 insertion(+), 9 deletions(-)
> 
> diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
> index 233f65f..c17f901 100644
> --- a/drivers/video/da8xx-fb.c
> +++ b/drivers/video/da8xx-fb.c
> @@ -678,15 +678,7 @@ static int fb_setcolreg(unsigned regno, unsigned red, unsigned green,
>  			(green << info->var.green.offset) |
>  			(blue << info->var.blue.offset);
>  
> -		switch (info->var.bits_per_pixel) {
> -		case 16:
> -			((u16 *) (info->pseudo_palette))[regno] = v;
> -			break;
> -		case 24:
> -		case 32:
> -			((u32 *) (info->pseudo_palette))[regno] = v;
> -			break;
> -		}
> +		((u32 *) (info->pseudo_palette))[regno] = v;
>  		if (palette[0] != 0x4000) {
>  			update_hw = 1;
>  			palette[0] = 0x4000;
> 

Thanks.

I wonder why the pseudo_palette in fb.h is 'void *' in the first place.
It seems to be cast to 'u32 *' everywhere...

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply

* Re: [PATCH v3 2/2] video: da8xx-fb: Fix casting of info->pseudo_palette
From: Geert Uytterhoeven @ 2014-04-05 11:35 UTC (permalink / raw)
  To: Tomi Valkeinen
  Cc: jon, linux-kernel@vger.kernel.org, Linux Fbdev development list,
	Jean-Christophe PLAGNIOL-VILLARD, Jon Ringle, Etheridge, Darren
In-Reply-To: <533E8E49.1030307@ti.com>

Hi Tomi,

On Fri, Apr 4, 2014 at 12:49 PM, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
> I wonder why the pseudo_palette in fb.h is 'void *' in the first place.
> It seems to be cast to 'u32 *' everywhere...

Historically, this was driver-specific. Many drivers stored u16 pixel values.

I guess it can be changed to u32 now, dropping all casts.

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

^ permalink raw reply

* [PATCH] uvesafb: abort initialization if video=uvesafb is not set
From: lxnay @ 2014-04-06 13:44 UTC (permalink / raw)
  To: linux-fbdev

From: Fabio Erculiani <lxnay@sabayon.org>

This patch makes possible to ship kernels with both vesafb and uvesafb
in order to guarantee a smooth transition to uvesafb and cope with
potential incompatibiles introduced by uvesafb making possible to disable
it via cmdline.

In case both vesafb and uvesafb are built-in, the kernel will try to
initialize both, which makes possible to select the wanted one using
either video=vesafb:... or video=uvesafb:....
In this way, old distro installations will keep working as before while
new ones can adopt video=uvesafb.

The behaviour does not change if uvesafb is built as a module.
---
 drivers/video/uvesafb.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/video/uvesafb.c b/drivers/video/uvesafb.c
index d428445..04c4742 100644
--- a/drivers/video/uvesafb.c
+++ b/drivers/video/uvesafb.c
@@ -1957,6 +1957,10 @@ static int uvesafb_init(void)
 
 	if (fb_get_options("uvesafb", &option))
 		return -ENODEV;
+	if (!option || !*option)
+		/* if vesafb is enabled, this will make possible to fallback to it */
+		return -ENODEV;
+
 	uvesafb_setup(option);
 #endif
 	err = cn_add_callback(&uvesafb_cn_id, "uvesafb", uvesafb_cn_callback);
-- 
1.8.1.5


^ permalink raw reply related

* [GIT PULL] fbdev changes for 3.15 (OMAP related)
From: Tomi Valkeinen @ 2014-04-07  9:35 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, Jean-Christophe PLAGNIOL-VILLARD, linux-fbdev,
	linux-omap

[-- Attachment #1: Type: text/plain, Size: 67214 bytes --]

Hi Linus,

Please pull OMAP related fbdev changes for 3.15.

This is based on the already pulled fbdev-main changes, and this also merges
.dts branch from Tony Lindgren (which has also been pulled), so that I was able
to add the display related .dts changes.

The shortlog generated below by git-request-pull is ok, but the diff stat is
not. I guess the branch I have is not something that git diff can handle.

Maybe I could've sent the OMAP driver changes (the '3.15/dss-dt' branch) and
the .dts changes (the '3.15/dss-dt-dts' branch) in a separate pull requests,
but I wanted to merge them both, as I have patches on top of those that are
only valid after both branches are merged.

 Tomi

The following changes since commit b7e4ab50418d5b34ab0dae95193dd71190e1fb50:

  Video: atmel: avoid the id of fix screen info is overwritten (2014-03-19 13:03:53 +0200)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux.git tags/fbdev-omap-3.15

for you to fetch changes up to 0f5d9d2e7d234acb26bc98dd820cc8dd178774d6:

  OMAPDSS: HDMI: fix interlace output (2014-04-04 09:56:19 +0300)

----------------------------------------------------------------
fbdev changes for 3.15 (OMAP)

This contains OMAP related fbdev changes for 3.15. The bulk of the patches are
for adding Device Tree support for OMAP Display Subsystem:

* SoCs: OMAP2/3/4

* Boards: OMAP4 Panda, OMAP4 SDP, OMAP3 Beagle, OMAP3 Beagle-xM, OMAP3
  IGEP0020, OMAP3 N900

* Devices: TFP410 Encoder, tpd12s015 HDMI companion chip, Sony acx565akm panel,
  MIPI DSI Command mode panel and HDMI, DVI and Analog TV connectors

----------------------------------------------------------------
Javier Martinez Canillas (1):
      ARM: omap3-igep0020.dts: add display information

Sebastian Reichel (1):
      OMAPDSS: acx565akm: Add DT support

Tomi Valkeinen (45):
      ARM: dts: fix omap3 dss clock handle names
      ARM: dts: fix DPLL4 x2 clkouts on 3630
      ARM: dts: use ti,fixed-factor-clock for dpll4_m4x2_mul_ck
      ARM: dts: set 'ti,set-rate-parent' for dpll4_m4 path
      ARM: omap2.dtsi: add omapdss information
      ARM: omap3.dtsi: add omapdss information
      ARM: omap4.dtsi: add omapdss information
      ARM: omap4-panda.dts: add display information
      ARM: OMAP2+: add omapdss_init_of()
      ARM: OMAP2+: DT 'compatible' tweak for displays
      OMAPDSS: add 'label' support for DT
      OMAPDSS: get dssdev->alias from DT alias
      OMAPFB: clean up default display search
      OMAPFB: search for default display with DT alias
      OMAPDSS: add of helpers
      OMAPDSS: Improve regulator names for DT
      OMAPDSS: Add DT support to DSS
      OMAPDSS: Add DT support to DISPC
      OMAPDSS: Add DT support to HDMI
      OMAPDSS: Add DT support to VENC
      OMAPDSS: Add DT support to DSI
      OMAPDSS: panel-dsi-cm: Add DT support
      OMAPDSS: encoder-tfp410: Add DT support
      OMAPDSS: connector-dvi: Add DT support
      OMAPDSS: encoder-tpd12s015: Add DT support
      OMAPDSS: hdmi-connector: Add DT support
      OMAPDSS: connector-analog-tv: Add DT support
      Doc/DT: Add DT binding documentation for OMAP DSS
      ARM: omap4-sdp.dts: add display information
      ARM: omap3-beagle.dts: add display information
      ARM: omap3-beagle-xm.dts: add display information
      ARM: omap3-n900.dts: add display information
      Doc/DT: Add DT binding documentation for Analog TV Connector
      Doc/DT: Add DT binding documentation for DVI Connector
      Doc/DT: Add DT binding documentation for HDMI Connector
      Doc/DT: Add DT binding documentation for MIPI DSI CM Panel
      Doc/DT: Add DT binding documentation for Sony acx565akm panel
      Doc/DT: Add DT binding documentation for TFP410 encoder
      Doc/DT: Add DT binding documentation for tpd12s015 encoder
      Merge branch '3.15/dss-dt' into 3.15/fbdev
      Merge branch '3.15/dss-dt-dts' into 3.15/fbdev
      OMAPDSS: remove DT hacks for regulators
      ARM: OMAP2+: remove pdata quirks for displays
      OMAPDSS: add missing __init for dss_init_ports
      OMAPDSS: HDMI: fix interlace output

 .gitignore                                         |   3 +
 Documentation/00-INDEX                             |  24 +-
 Documentation/PCI/MSI-HOWTO.txt                    | 119 ++-
 Documentation/RCU/00-INDEX                         |   2 +
 Documentation/arm/00-INDEX                         |  14 +
 Documentation/blackfin/00-INDEX                    |   6 +-
 Documentation/block/00-INDEX                       |   2 +
 Documentation/devicetree/00-INDEX                  |   2 +
 Documentation/devicetree/bindings/arm/omap/dmm.txt |  22 +
 .../devicetree/bindings/arm/omap/omap.txt          |   8 +-
 .../devicetree/bindings/mmc/atmel-hsmci.txt        |   5 +
 .../bindings/net/allwinner,sun4i-emac.txt          |   5 +-
 .../bindings/net/allwinner,sun4i-mdio.txt          |   5 +-
 .../devicetree/bindings/net/sti-dwmac.txt          |  58 ++
 .../devicetree/bindings/power/bq2415x.txt          |  47 ++
 .../devicetree/bindings/spi/spi_atmel.txt          |   5 +
 .../devicetree/bindings/usb/ehci-omap.txt          |   2 +-
 .../devicetree/bindings/usb/ohci-omap3.txt         |   2 +-
 .../devicetree/bindings/vendor-prefixes.txt        |   6 +-
 .../bindings/video/analog-tv-connector.txt         |  25 +
 .../devicetree/bindings/video/dvi-connector.txt    |  35 +
 .../devicetree/bindings/video/hdmi-connector.txt   |  28 +
 .../devicetree/bindings/video/panel-dsi-cm.txt     |  29 +
 .../devicetree/bindings/video/sony,acx565akm.txt   |  30 +
 .../devicetree/bindings/video/ti,omap-dss.txt      | 211 +++++
 .../devicetree/bindings/video/ti,omap2-dss.txt     |  54 ++
 .../devicetree/bindings/video/ti,omap3-dss.txt     |  83 ++
 .../devicetree/bindings/video/ti,omap4-dss.txt     | 111 +++
 .../devicetree/bindings/video/ti,tfp410.txt        |  41 +
 .../devicetree/bindings/video/ti,tpd12s015.txt     |  44 +
 Documentation/fb/00-INDEX                          |   6 +
 Documentation/filesystems/00-INDEX                 |   2 +
 Documentation/filesystems/nfs/00-INDEX             |   4 +-
 Documentation/i2c/instantiating-devices            |  41 +-
 Documentation/ide/00-INDEX                         |   2 +
 Documentation/laptops/00-INDEX                     |   6 +-
 Documentation/leds/00-INDEX                        |   8 +
 Documentation/m68k/00-INDEX                        |   2 +
 Documentation/networking/00-INDEX                  |  30 +-
 Documentation/networking/3c505.txt                 |  45 --
 Documentation/phy.txt                              |  26 +-
 Documentation/power/00-INDEX                       |   6 +-
 Documentation/ptp/testptp.c                        |  11 +-
 Documentation/s390/00-INDEX                        |   8 +-
 Documentation/scheduler/00-INDEX                   |   2 +
 Documentation/scsi/00-INDEX                        |  16 +
 Documentation/serial/00-INDEX                      |   6 +-
 Documentation/spi/00-INDEX                         |  22 +
 Documentation/spi/spi-summary                      |  17 +-
 Documentation/timers/00-INDEX                      |   2 +
 Documentation/virtual/kvm/00-INDEX                 |   2 +
 Documentation/vm/00-INDEX                          |   4 +-
 Documentation/w1/masters/00-INDEX                  |   4 +-
 Documentation/w1/slaves/00-INDEX                   |   2 +
 Documentation/x86/00-INDEX                         |  18 +-
 Documentation/zh_CN/arm64/booting.txt              |  65 +-
 Documentation/zh_CN/arm64/memory.txt               |  46 +-
 Documentation/zh_CN/arm64/tagged-pointers.txt      |  52 ++
 MAINTAINERS                                        |  21 +-
 Makefile                                           |   2 +-
 arch/arm/boot/dts/Makefile                         |  12 +-
 arch/arm/boot/dts/am335x-evm.dts                   |  60 +-
 arch/arm/boot/dts/am335x-evmsk.dts                 |  67 +-
 arch/arm/boot/dts/am33xx.dtsi                      |  13 +-
 arch/arm/boot/dts/am3517-craneboard.dts            | 174 ++++
 arch/arm/boot/dts/am4372.dtsi                      |  46 ++
 arch/arm/boot/dts/am437x-gp-evm.dts                | 127 +++
 arch/arm/boot/dts/am43x-epos-evm.dts               | 183 +++++
 arch/arm/boot/dts/armada-xp-mv78260.dtsi           |   3 +-
 arch/arm/boot/dts/at91-sama5d3_xplained.dts        | 229 ++++++
 arch/arm/boot/dts/at91sam9263.dtsi                 |   2 +-
 arch/arm/boot/dts/at91sam9n12ek.dts                |   4 +
 arch/arm/boot/dts/dove.dtsi                        |  11 -
 arch/arm/boot/dts/dra7.dtsi                        | 151 ++++
 arch/arm/boot/dts/imx6dl-hummingboard.dts          |  10 +-
 arch/arm/boot/dts/imx6qdl-cubox-i.dtsi             |  10 +-
 arch/arm/boot/dts/omap2.dtsi                       |  31 +
 arch/arm/boot/dts/omap2420.dtsi                    |   2 +
 arch/arm/boot/dts/omap2430.dtsi                    |   5 +
 arch/arm/boot/dts/omap3-beagle-xm.dts              | 142 +++-
 arch/arm/boot/dts/omap3-beagle.dts                 | 139 ++++
 arch/arm/boot/dts/omap3-cm-t3517.dts               | 136 ++++
 arch/arm/boot/dts/omap3-cm-t3530.dts               |  48 ++
 arch/arm/boot/dts/omap3-cm-t3730.dts               |  57 +-
 arch/arm/boot/dts/omap3-cm-t3x.dtsi                | 110 +++
 arch/arm/boot/dts/omap3-cm-t3x30.dtsi              |  74 +-
 arch/arm/boot/dts/omap3-devkit8000.dts             |  16 +-
 arch/arm/boot/dts/omap3-gta04.dts                  |  57 +-
 arch/arm/boot/dts/omap3-igep.dtsi                  |   1 +
 arch/arm/boot/dts/omap3-igep0020.dts               |  58 +-
 arch/arm/boot/dts/omap3-lilly-a83x.dtsi            | 459 +++++++++++
 arch/arm/boot/dts/omap3-lilly-dbb056.dts           | 170 ++++
 arch/arm/boot/dts/omap3-n9.dts                     |   2 +-
 arch/arm/boot/dts/omap3-n900.dts                   | 171 +++-
 arch/arm/boot/dts/omap3-n950.dts                   |   2 +-
 arch/arm/boot/dts/omap3-overo-storm-tobi.dts       |  22 +
 ...omap3-tobi.dts => omap3-overo-tobi-common.dtsi} |   3 -
 arch/arm/boot/dts/omap3-overo-tobi.dts             |  22 +
 arch/arm/boot/dts/omap3-overo.dtsi                 |   7 +-
 arch/arm/boot/dts/omap3-sb-t35.dtsi                |  29 +-
 arch/arm/boot/dts/omap3-sbc-t3517.dts              |  43 +
 arch/arm/boot/dts/omap3-sbc-t3530.dts              |  36 +
 arch/arm/boot/dts/omap3-sbc-t3730.dts              |  23 +-
 arch/arm/boot/dts/omap3.dtsi                       |  81 +-
 arch/arm/boot/dts/omap3430-sdp.dts                 |   7 +-
 arch/arm/boot/dts/omap3430es1-clocks.dtsi          |  16 +-
 .../omap36xx-am35xx-omap3430es2plus-clocks.dtsi    |   6 +-
 arch/arm/boot/dts/omap36xx-clocks.dtsi             |  20 +
 .../boot/dts/omap36xx-omap3430es2plus-clocks.dtsi  |  10 +-
 arch/arm/boot/dts/omap36xx.dtsi                    |  28 +-
 arch/arm/boot/dts/omap3xxx-clocks.dtsi             |   8 +-
 arch/arm/boot/dts/omap4-duovero-parlor.dts         | 146 ++++
 arch/arm/boot/dts/omap4-duovero.dtsi               | 252 ++++++
 arch/arm/boot/dts/omap4-panda-common.dtsi          | 146 +++-
 arch/arm/boot/dts/omap4-sdp.dts                    | 146 +++-
 arch/arm/boot/dts/omap4.dtsi                       | 143 +++-
 arch/arm/boot/dts/omap443x.dtsi                    |  26 +
 arch/arm/boot/dts/omap4460.dtsi                    |  37 +
 arch/arm/boot/dts/omap5-uevm.dts                   |   8 +-
 arch/arm/boot/dts/omap5.dtsi                       |  43 +-
 arch/arm/boot/dts/sama5d3.dtsi                     |   2 +-
 arch/arm/boot/dts/ste-href.dtsi                    |   1 -
 arch/arm/boot/dts/sun4i-a10.dtsi                   |   4 +-
 arch/arm/boot/dts/sun5i-a10s.dtsi                  |   4 +-
 arch/arm/boot/dts/sun7i-a20.dtsi                   |   4 +-
 arch/arm/boot/dts/tegra114.dtsi                    |   4 +
 arch/arm/boot/dts/tegra20.dtsi                     |   4 +
 arch/arm/boot/dts/tegra30-cardhu.dtsi              |   2 +-
 arch/arm/boot/dts/tegra30.dtsi                     |   4 +
 arch/arm/boot/dts/testcases/tests.dtsi             |   2 -
 arch/arm/boot/dts/tps65910.dtsi                    |   5 +
 arch/arm/boot/dts/twl4030.dtsi                     |   7 +
 arch/arm/boot/dts/versatile-pb.dts                 |   4 +-
 arch/arm/configs/multi_v7_defconfig                |   1 +
 arch/arm/include/asm/cacheflush.h                  |   1 +
 arch/arm/include/asm/pgtable-3level.h              |  15 +-
 arch/arm/include/asm/spinlock.h                    |  15 +-
 arch/arm/kernel/setup.c                            |   2 +-
 arch/arm/mach-hisi/Kconfig                         |   2 +-
 arch/arm/mach-imx/Makefile                         |   2 -
 arch/arm/mach-imx/clk-imx6q.c                      |   3 +
 arch/arm/mach-imx/clk-imx6sl.c                     |   3 +
 arch/arm/mach-imx/common.h                         |   4 +-
 arch/arm/mach-imx/pm-imx6q.c                       |   2 -
 arch/arm/mach-moxart/Kconfig                       |   1 -
 arch/arm/mach-omap1/board-nokia770.c               |   1 +
 arch/arm/mach-omap2/Kconfig                        |  10 +-
 arch/arm/mach-omap2/board-generic.c                |   4 +
 arch/arm/mach-omap2/clockdomains3xxx_data.c        |   2 +-
 arch/arm/mach-omap2/common.h                       |   3 +
 arch/arm/mach-omap2/devices.c                      |   3 +
 arch/arm/mach-omap2/display.c                      | 166 ++++
 arch/arm/mach-omap2/display.h                      |   3 +
 arch/arm/mach-omap2/dss-common.c                   | 224 +-----
 arch/arm/mach-omap2/gpmc-nand.c                    |  31 +-
 arch/arm/mach-omap2/gpmc.c                         |   4 +-
 arch/arm/mach-omap2/io.c                           |   9 -
 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c         |  12 +-
 arch/arm/mach-omap2/omap_hwmod_54xx_data.c         |  83 ++
 arch/arm/mach-omap2/pdata-quirks.c                 | 120 ++-
 arch/arm/mach-pxa/am300epd.c                       |   1 +
 arch/arm/mach-pxa/include/mach/balloon3.h          |   2 +
 arch/arm/mach-pxa/include/mach/corgi.h             |   1 +
 arch/arm/mach-pxa/include/mach/csb726.h            |   2 +
 arch/arm/mach-pxa/include/mach/gumstix.h           |   1 +
 arch/arm/mach-pxa/include/mach/idp.h               |   1 +
 arch/arm/mach-pxa/include/mach/palmld.h            |   2 +
 arch/arm/mach-pxa/include/mach/palmt5.h            |   2 +
 arch/arm/mach-pxa/include/mach/palmtc.h            |   2 +
 arch/arm/mach-pxa/include/mach/palmtx.h            |   2 +
 arch/arm/mach-pxa/include/mach/pcm027.h            |   2 +
 arch/arm/mach-pxa/include/mach/pcm990_baseboard.h  |   1 +
 arch/arm/mach-pxa/include/mach/poodle.h            |   2 +
 arch/arm/mach-pxa/include/mach/spitz.h             |   2 +-
 arch/arm/mach-pxa/include/mach/tosa.h              |   2 +
 arch/arm/mach-pxa/include/mach/trizeps4.h          |   2 +
 arch/arm/mach-pxa/mioa701.c                        |   9 +
 arch/arm/mach-shmobile/Kconfig                     |   2 +-
 arch/arm/mach-tegra/pm.c                           |   1 +
 arch/arm/mach-tegra/tegra.c                        |  10 +
 arch/arm/mach-zynq/common.c                        |  14 +
 arch/arm/mm/dma-mapping.c                          |   2 +-
 arch/arm/mm/mm.h                                   |   1 +
 arch/arm/mm/mmu.c                                  |   7 +-
 arch/arm/mm/proc-v6.S                              |   3 +-
 arch/arm/mm/proc-v7.S                              |   2 +-
 arch/arm/plat-omap/Kconfig                         |   3 -
 arch/arm64/include/uapi/asm/kvm.h                  |   9 +
 arch/avr32/Makefile                                |   2 +-
 arch/avr32/boards/mimc200/fram.c                   |   1 +
 arch/avr32/include/asm/Kbuild                      |   1 +
 arch/avr32/include/asm/io.h                        |   2 +
 arch/microblaze/include/asm/delay.h                |   2 +
 arch/microblaze/include/asm/io.h                   |   6 +
 arch/microblaze/kernel/head.S                      |   2 +-
 arch/powerpc/include/asm/dma-mapping.h             |   1 +
 arch/powerpc/include/asm/eeh.h                     |  21 +-
 arch/powerpc/include/asm/hugetlb.h                 |   2 +-
 arch/powerpc/include/asm/iommu.h                   |   1 +
 arch/powerpc/include/asm/pgtable-ppc64.h           |  26 +-
 arch/powerpc/include/asm/pgtable.h                 |  22 +
 arch/powerpc/include/asm/sections.h                |  12 +
 arch/powerpc/include/asm/vdso.h                    |   6 +-
 arch/powerpc/kernel/dma.c                          |  10 +-
 arch/powerpc/kernel/eeh.c                          |  32 +-
 arch/powerpc/kernel/eeh_driver.c                   |   8 +-
 arch/powerpc/kernel/iommu.c                        |  12 +
 arch/powerpc/kernel/irq.c                          |   5 +
 arch/powerpc/kernel/machine_kexec.c                |  14 +-
 arch/powerpc/kernel/machine_kexec_64.c             |   6 +-
 arch/powerpc/kernel/misc_32.S                      |   5 +-
 arch/powerpc/kernel/reloc_64.S                     |   4 +-
 arch/powerpc/kernel/setup_32.c                     |   5 +
 arch/powerpc/kernel/vdso32/vdso32_wrapper.S        |   2 +-
 arch/powerpc/kernel/vdso64/vdso64_wrapper.S        |   2 +-
 arch/powerpc/mm/hash_utils_64.c                    |  14 +
 arch/powerpc/mm/pgtable_64.c                       |  12 +-
 arch/powerpc/mm/subpage-prot.c                     |   2 +-
 arch/powerpc/perf/core-book3s.c                    |   5 +-
 arch/powerpc/perf/power8-pmu.c                     | 144 ++++
 arch/powerpc/platforms/powernv/eeh-ioda.c          |  32 +-
 arch/powerpc/platforms/powernv/eeh-powernv.c       |   2 +-
 arch/powerpc/platforms/powernv/pci-ioda.c          |  84 ++
 arch/powerpc/platforms/powernv/pci.c               |  10 +
 arch/powerpc/platforms/powernv/pci.h               |   6 +-
 arch/powerpc/platforms/powernv/powernv.h           |   8 +
 arch/powerpc/platforms/powernv/setup.c             |   9 +
 arch/powerpc/platforms/pseries/Kconfig             |   1 +
 arch/powerpc/platforms/pseries/eeh_pseries.c       |   2 +-
 arch/powerpc/platforms/pseries/pci.c               |  22 +-
 arch/powerpc/platforms/pseries/setup.c             |   3 +-
 arch/powerpc/sysdev/mpic.c                         |  38 +-
 arch/powerpc/xmon/xmon.c                           |  24 +-
 arch/s390/appldata/appldata_base.c                 |   1 +
 arch/s390/kernel/head64.S                          |   7 +-
 arch/s390/mm/page-states.c                         |  10 +
 arch/sparc/Kconfig                                 |   2 +-
 arch/sparc/mm/srmmu.c                              |   2 +
 arch/x86/include/asm/efi.h                         |   2 +
 arch/x86/include/asm/pgtable.h                     |  14 +-
 arch/x86/include/asm/tsc.h                         |   2 +-
 arch/x86/kernel/cpu/common.c                       |   7 +-
 arch/x86/kernel/cpu/perf_event.c                   |   8 +-
 arch/x86/kernel/cpu/perf_event.h                   |   1 +
 arch/x86/kernel/cpu/perf_event_intel.c             |  11 +-
 arch/x86/kernel/cpu/perf_event_intel_uncore.c      |  10 +-
 arch/x86/kernel/cpu/perf_event_p6.c                |  48 +-
 arch/x86/kernel/ftrace.c                           |  83 +-
 arch/x86/kernel/pci-dma.c                          |   4 +-
 arch/x86/kernel/tsc.c                              |  11 +-
 arch/x86/kernel/tsc_msr.c                          |  30 +-
 arch/x86/mm/fault.c                                |  14 +-
 arch/x86/platform/efi/efi-bgrt.c                   |   2 +-
 arch/x86/platform/efi/efi.c                        |   5 +-
 arch/x86/platform/efi/efi_32.c                     |   6 +
 arch/x86/platform/efi/efi_64.c                     |   9 +
 arch/x86/xen/mmu.c                                 |   4 +-
 block/blk-core.c                                   |  20 +-
 block/blk-exec.c                                   |   2 +-
 block/blk-flush.c                                  | 101 +--
 block/blk-lib.c                                    |   8 +
 block/blk-merge.c                                  |  91 ++-
 block/blk-mq-tag.c                                 |   2 +-
 block/blk-mq.c                                     | 143 ++--
 block/blk-mq.h                                     |   4 +-
 block/blk-sysfs.c                                  |   2 +
 block/blk-timeout.c                                |   2 +-
 block/blk.h                                        |   2 +-
 drivers/acpi/ac.c                                  |   2 +
 drivers/acpi/battery.c                             |   2 +
 drivers/acpi/blacklist.c                           |  58 --
 drivers/acpi/button.c                              |   2 +
 drivers/acpi/container.c                           |   5 +-
 drivers/acpi/dock.c                                |  13 +-
 drivers/acpi/fan.c                                 |   3 +
 drivers/acpi/pci_irq.c                             |   1 +
 drivers/acpi/sbs.c                                 |   4 +-
 drivers/acpi/thermal.c                             |   2 +
 drivers/acpi/video.c                               | 147 +++-
 drivers/acpi/video_detect.c                        |  16 -
 drivers/ata/Kconfig                                |   1 +
 drivers/ata/ahci.c                                 |  18 +-
 drivers/ata/libata-pmp.c                           |   7 +-
 drivers/ata/pata_imx.c                             |   8 +-
 drivers/ata/sata_mv.c                              |  16 +-
 drivers/ata/sata_sil.c                             |   1 +
 drivers/base/component.c                           |   8 +
 drivers/base/dma-buf.c                             |  25 +-
 drivers/block/null_blk.c                           |  97 +--
 drivers/block/virtio_blk.c                         |   7 +-
 drivers/block/xen-blkback/blkback.c                |  66 +-
 drivers/block/xen-blkback/common.h                 |   5 +-
 drivers/block/xen-blkback/xenbus.c                 |  14 +
 drivers/block/xen-blkfront.c                       |  11 +-
 drivers/char/Kconfig                               |   1 +
 drivers/char/raw.c                                 |   2 +-
 drivers/clocksource/bcm_kona_timer.c               |  54 +-
 drivers/cpufreq/cpufreq.c                          |   3 +-
 drivers/cpufreq/intel_pstate.c                     |  26 +-
 drivers/cpufreq/powernow-k8.c                      |  10 +-
 drivers/crypto/nx/nx-842.c                         |  29 +-
 drivers/dma/Kconfig                                |   1 +
 drivers/dma/mv_xor.c                               |  24 +-
 drivers/edac/edac_mc.c                             |  13 +-
 drivers/edac/edac_mc_sysfs.c                       |  10 +-
 drivers/edac/edac_module.h                         |   2 +-
 drivers/gpio/Kconfig                               |   1 +
 drivers/gpio/gpio-bcm-kona.c                       |   4 +-
 drivers/gpio/gpio-clps711x.c                       |   1 +
 drivers/gpio/gpio-intel-mid.c                      |   4 +-
 drivers/gpio/gpio-xtensa.c                         |  16 +
 drivers/gpu/drm/drm_ioctl.c                        |  12 +
 drivers/gpu/drm/exynos/Kconfig                     |   4 +-
 drivers/gpu/drm/exynos/exynos_drm_drv.c            |  14 +-
 drivers/gpu/drm/exynos/exynos_drm_g2d.c            |   2 +-
 drivers/gpu/drm/exynos/exynos_drm_ipp.c            |   3 +-
 drivers/gpu/drm/exynos/exynos_hdmi.c               |  66 +-
 drivers/gpu/drm/i2c/tda998x_drv.c                  |  19 +-
 drivers/gpu/drm/i915/i915_drv.h                    |   8 +
 drivers/gpu/drm/i915/i915_gpu_error.c              |   5 +-
 drivers/gpu/drm/i915/i915_irq.c                    |   3 +-
 drivers/gpu/drm/i915/intel_display.c               |  14 +
 drivers/gpu/drm/i915/intel_dp.c                    |  31 +-
 drivers/gpu/drm/i915/intel_i2c.c                   |   7 -
 drivers/gpu/drm/i915/intel_opregion.c              |   9 +-
 drivers/gpu/drm/i915/intel_ringbuffer.c            |  21 +
 drivers/gpu/drm/i915/intel_ringbuffer.h            |   1 +
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c           | 179 +++--
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c          |   4 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c           |   7 +-
 drivers/gpu/drm/msm/msm_gem.c                      |   2 +-
 drivers/gpu/drm/msm/msm_gem_submit.c               |   9 +-
 drivers/gpu/drm/msm/msm_gpu.c                      |   3 -
 drivers/gpu/drm/nouveau/Makefile                   |   1 +
 drivers/gpu/drm/nouveau/core/engine/device/nv40.c  |  10 +-
 drivers/gpu/drm/nouveau/core/engine/disp/nv50.c    |   2 +-
 drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c    |   2 +-
 drivers/gpu/drm/nouveau/core/engine/graph/nv50.c   |   2 +-
 drivers/gpu/drm/nouveau/core/include/subdev/mc.h   |   1 +
 drivers/gpu/drm/nouveau/core/subdev/bios/base.c    |   4 +
 drivers/gpu/drm/nouveau/core/subdev/fb/nv1a.c      |   2 +-
 drivers/gpu/drm/nouveau/core/subdev/mc/nv04.h      |   1 +
 drivers/gpu/drm/nouveau/core/subdev/mc/nv44.c      |   2 +-
 drivers/gpu/drm/nouveau/core/subdev/mc/nv4c.c      |  45 ++
 drivers/gpu/drm/nouveau/nouveau_acpi.c             |  26 +-
 drivers/gpu/drm/nouveau/nouveau_bo.c               |   2 +-
 drivers/gpu/drm/nouveau/nouveau_drm.c              |   3 +
 drivers/gpu/drm/nouveau/nouveau_vga.c              |   4 +-
 drivers/gpu/drm/radeon/atombios_crtc.c             |  15 +-
 drivers/gpu/drm/radeon/atombios_encoders.c         |   7 +-
 drivers/gpu/drm/radeon/btc_dpm.c                   |  32 +
 drivers/gpu/drm/radeon/btcd.h                      |   4 +
 drivers/gpu/drm/radeon/evergreen.c                 |   2 +-
 drivers/gpu/drm/radeon/kv_dpm.c                    |   2 +-
 drivers/gpu/drm/radeon/ni_dpm.c                    |  10 +-
 drivers/gpu/drm/radeon/r600.c                      |   4 +
 drivers/gpu/drm/radeon/radeon.h                    |   4 +-
 drivers/gpu/drm/radeon/radeon_asic.c               |   2 +-
 drivers/gpu/drm/radeon/radeon_asic.h               |   2 +
 drivers/gpu/drm/radeon/radeon_display.c            |   2 +
 drivers/gpu/drm/radeon/radeon_ring.c               |   2 +-
 drivers/gpu/drm/radeon/radeon_semaphore.c          |  19 +-
 drivers/gpu/drm/radeon/rv770_dpm.c                 |  14 +-
 drivers/gpu/drm/radeon/si.c                        |   4 +
 drivers/gpu/drm/radeon/si_dpm.c                    |   5 +-
 drivers/gpu/drm/radeon/sumo_dpm.c                  |   2 +-
 drivers/gpu/drm/radeon/trinity_dpm.c               |   3 +-
 drivers/gpu/drm/radeon/uvd_v2_2.c                  |   1 -
 drivers/gpu/drm/ttm/ttm_agp_backend.c              |   1 +
 drivers/gpu/drm/vmwgfx/svga3d_reg.h                | 122 +--
 drivers/gpu/drm/vmwgfx/svga3d_surfacedefs.h        |  11 +-
 drivers/gpu/drm/vmwgfx/svga_reg.h                  |   9 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_context.c            |   9 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c                |   3 +
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h                |   1 +
 drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c            |   9 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c              |   3 +
 drivers/gpu/drm/vmwgfx/vmwgfx_shader.c             |  16 +-
 drivers/hid/hid-apple.c                            |   3 +
 drivers/hid/hid-core.c                             |   3 +
 drivers/hid/hid-hyperv.c                           |  11 +-
 drivers/hid/hid-ids.h                              |   8 +
 drivers/hid/hid-input.c                            |   2 +-
 drivers/hid/hid-microsoft.c                        |   4 +
 drivers/hid/hid-multitouch.c                       |   5 +
 drivers/hid/hid-sensor-hub.c                       |   3 +
 drivers/hid/i2c-hid/i2c-hid.c                      |   2 +-
 drivers/hid/usbhid/hid-quirks.c                    |   1 +
 drivers/hv/connection.c                            |  13 +-
 drivers/hwmon/max1668.c                            |   2 +-
 drivers/hwmon/ntc_thermistor.c                     |   6 +-
 drivers/i2c/busses/i2c-mv64xxx.c                   |  33 +-
 drivers/iio/accel/bma180.c                         |  16 +-
 drivers/iio/adc/max1363.c                          |   2 +-
 drivers/iio/imu/adis16400.h                        |   1 +
 drivers/iio/imu/adis16400_core.c                   |  10 +-
 drivers/iio/light/tsl2563.c                        |  16 +-
 drivers/iio/magnetometer/ak8975.c                  |  16 +-
 drivers/iio/magnetometer/mag3110.c                 |   8 +-
 drivers/infiniband/hw/amso1100/c2.c                |   4 +-
 drivers/infiniband/hw/amso1100/c2_rnic.c           |   3 +-
 drivers/infiniband/hw/cxgb4/cm.c                   |   1 +
 drivers/infiniband/hw/mlx4/main.c                  | 185 +++--
 drivers/infiniband/hw/mlx5/Kconfig                 |   2 +-
 drivers/infiniband/hw/mlx5/main.c                  |  22 +-
 drivers/infiniband/hw/mlx5/qp.c                    |  18 +-
 drivers/infiniband/hw/mlx5/user.h                  |   7 +
 drivers/infiniband/hw/nes/nes.c                    |   5 +-
 drivers/infiniband/hw/ocrdma/ocrdma_main.c         |   2 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c        |   4 +-
 drivers/infiniband/hw/qib/qib_iba7322.c            |   5 +
 drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c      |   9 +-
 drivers/infiniband/ulp/iser/iser_initiator.c       |   3 +-
 drivers/infiniband/ulp/iser/iser_verbs.c           |  10 +-
 drivers/infiniband/ulp/isert/ib_isert.c            |   1 +
 drivers/infiniband/ulp/srpt/ib_srpt.c              |  14 +-
 drivers/iommu/arm-smmu.c                           | 105 ++-
 drivers/irqchip/irq-orion.c                        |  22 +-
 drivers/isdn/hisax/q931.c                          |   2 +-
 drivers/md/bcache/bcache.h                         |   4 +-
 drivers/md/bcache/bset.c                           |   7 +-
 drivers/md/bcache/btree.c                          |   4 +-
 drivers/md/bcache/extents.c                        |   2 +-
 drivers/md/bcache/request.c                        |   6 +-
 drivers/md/bcache/sysfs.c                          |   2 +-
 drivers/md/raid1.c                                 |  13 +-
 drivers/md/raid5.c                                 |  90 +--
 drivers/message/i2o/i2o_config.c                   |   4 +-
 drivers/mfd/da9055-i2c.c                           |  12 +-
 drivers/mfd/max14577.c                             |   2 +
 drivers/mfd/max8997.c                              |   6 +-
 drivers/mfd/max8998.c                              |   6 +-
 drivers/mfd/sec-core.c                             |   2 +
 drivers/mfd/tps65217.c                             |   4 +-
 drivers/mfd/wm8994-core.c                          |   2 +-
 drivers/misc/genwqe/card_dev.c                     |   1 +
 drivers/misc/mei/client.c                          |  15 +-
 drivers/misc/mic/host/mic_virtio.c                 |   3 +-
 drivers/misc/sgi-gru/grukdump.c                    |  11 +-
 drivers/mmc/card/queue.c                           |   2 +-
 drivers/net/Kconfig                                |   2 +-
 drivers/net/bonding/bond_3ad.c                     |   6 +-
 drivers/net/bonding/bond_3ad.h                     |   1 +
 drivers/net/bonding/bond_main.c                    |  35 +-
 drivers/net/bonding/bond_options.c                 |   2 +-
 drivers/net/can/Kconfig                            |   2 +-
 drivers/net/can/dev.c                              |  15 +-
 drivers/net/can/flexcan.c                          |   7 +-
 drivers/net/can/janz-ican3.c                       |  20 +-
 drivers/net/can/usb/kvaser_usb.c                   |   2 +
 drivers/net/can/vcan.c                             |   9 +-
 drivers/net/ethernet/3com/3c59x.c                  |   2 -
 drivers/net/ethernet/allwinner/sun4i-emac.c        |   3 +
 drivers/net/ethernet/atheros/alx/main.c            |   1 +
 drivers/net/ethernet/broadcom/bnx2.c               |   2 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c    |   4 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h    |   4 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c   |  12 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c  |   6 +-
 drivers/net/ethernet/broadcom/tg3.c                |  17 +-
 drivers/net/ethernet/dec/tulip/tulip_core.c        |   1 +
 drivers/net/ethernet/ethoc.c                       | 138 +++-
 drivers/net/ethernet/freescale/fec_main.c          |   4 +-
 drivers/net/ethernet/intel/e100.c                  |   2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c      |   6 +-
 drivers/net/ethernet/lantiq_etop.c                 |   2 +-
 drivers/net/ethernet/marvell/Kconfig               |   6 +-
 drivers/net/ethernet/mellanox/mlx4/en_tx.c         |   4 +-
 drivers/net/ethernet/mellanox/mlx4/mlx4_en.h       |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/Kconfig    |   2 +-
 drivers/net/ethernet/neterion/vxge/vxge-main.c     |   6 -
 drivers/net/ethernet/sfc/tx.c                      |   2 +
 drivers/net/ethernet/stmicro/stmmac/Kconfig        |  11 +
 drivers/net/ethernet/stmicro/stmmac/Makefile       |   1 +
 drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c    | 330 ++++++++
 drivers/net/ethernet/stmicro/stmmac/stmmac.h       |   3 +
 .../net/ethernet/stmicro/stmmac/stmmac_platform.c  |   5 +
 drivers/net/ethernet/ti/cpsw.c                     |  25 +-
 drivers/net/ethernet/tile/tilegx.c                 |   2 +-
 drivers/net/ethernet/xilinx/xilinx_axienet_main.c  |  13 +-
 drivers/net/hyperv/netvsc_drv.c                    |  53 +-
 drivers/net/irda/Kconfig                           |   7 -
 drivers/net/irda/Makefile                          |   1 -
 drivers/net/irda/ep7211-sir.c                      |  70 --
 drivers/net/irda/irtty-sir.c                       |   1 -
 drivers/net/macvlan.c                              |   5 +-
 drivers/net/phy/dp83640.c                          |  32 +-
 drivers/net/phy/mdio-sun4i.c                       |   3 +
 drivers/net/phy/phy_device.c                       |  38 +-
 drivers/net/team/team.c                            |   2 +-
 drivers/net/tun.c                                  |   2 +-
 drivers/net/usb/Kconfig                            |  15 +
 drivers/net/usb/Makefile                           |   1 +
 drivers/net/usb/asix_devices.c                     |   3 +-
 drivers/net/usb/ax88179_178a.c                     |   4 +
 drivers/net/usb/gl620a.c                           |   4 +
 drivers/net/usb/hso.c                              |  32 +-
 drivers/net/usb/mcs7830.c                          |   5 +-
 drivers/net/usb/net1080.c                          |   4 +
 drivers/net/usb/qmi_wwan.c                         |  11 +-
 drivers/net/usb/r8152.c                            |  17 +-
 drivers/net/usb/rndis_host.c                       |   4 +
 drivers/net/usb/smsc75xx.c                         |   4 +
 drivers/net/usb/smsc95xx.c                         |   4 +
 drivers/net/usb/sr9800.c                           | 874 ++++++++++++++++++++
 drivers/net/usb/sr9800.h                           | 202 +++++
 drivers/net/usb/usbnet.c                           |  25 +-
 drivers/net/vxlan.c                                |   3 -
 drivers/net/wan/dlci.c                             |   5 -
 drivers/net/wireless/ath/ar5523/ar5523.c           |   2 +-
 drivers/net/wireless/ath/ath5k/phy.c               |   2 +-
 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c     |   4 +
 drivers/net/wireless/ath/ath9k/htc.h               |   2 +
 drivers/net/wireless/ath/ath9k/htc_drv_init.c      |   8 +-
 drivers/net/wireless/ath/ath9k/htc_drv_main.c      |  63 +-
 drivers/net/wireless/ath/ath9k/hw.c                |   5 +-
 drivers/net/wireless/ath/ath9k/init.c              |   8 +-
 drivers/net/wireless/hostap/hostap_proc.c          |   2 +-
 drivers/net/wireless/iwlwifi/dvm/mac80211.c        |  22 +-
 drivers/net/wireless/iwlwifi/iwl-drv.c             |   2 +-
 drivers/net/wireless/iwlwifi/iwl-modparams.h       |  11 +-
 drivers/net/wireless/iwlwifi/iwl-nvm-parse.c       |   5 +
 drivers/net/wireless/iwlwifi/mvm/fw-api-scan.h     |   4 +-
 drivers/net/wireless/iwlwifi/mvm/mac80211.c        |  24 +-
 drivers/net/wireless/iwlwifi/mvm/scan.c            |   5 +-
 drivers/net/wireless/iwlwifi/mvm/sta.c             |   2 +-
 drivers/net/wireless/iwlwifi/mvm/tx.c              |  73 +-
 drivers/net/wireless/iwlwifi/mvm/utils.c           |   2 +
 drivers/net/wireless/iwlwifi/pcie/drv.c            |   7 +-
 drivers/net/wireless/mwifiex/main.c                |   2 +-
 drivers/net/wireless/rt2x00/rt2500pci.c            |   5 +
 drivers/net/wireless/rt2x00/rt2500usb.c            |   5 +
 drivers/net/wireless/rt2x00/rt2800lib.c            |   5 +-
 drivers/net/wireless/rtl818x/rtl8180/dev.c         |  23 +-
 drivers/net/wireless/rtl818x/rtl8187/rtl8187.h     |  10 +-
 drivers/net/wireless/rtlwifi/ps.c                  |   2 +-
 drivers/net/wireless/rtlwifi/rtl8192ce/hw.c        |  18 +-
 drivers/net/xen-netback/common.h                   |   6 +-
 drivers/net/xen-netback/interface.c                |   1 -
 drivers/net/xen-netback/netback.c                  |  16 +-
 drivers/net/xen-netfront.c                         |   5 +-
 drivers/of/address.c                               |   5 +-
 drivers/of/base.c                                  | 128 +--
 drivers/of/of_mdio.c                               |  22 +-
 drivers/of/selftest.c                              |  67 ++
 drivers/of/testcase-data/testcases.dtsi            |   3 +
 .../of/testcase-data}/tests-interrupts.dtsi        |   0
 drivers/of/testcase-data/tests-match.dtsi          |  19 +
 .../of/testcase-data}/tests-phandle.dtsi           |   0
 drivers/pci/host/pci-mvebu.c                       |  11 +-
 drivers/pci/hotplug/acpiphp_glue.c                 |  15 +-
 drivers/pci/msi.c                                  |  10 +-
 drivers/pci/pci.c                                  |  10 +
 drivers/phy/Kconfig                                |   3 +-
 drivers/phy/phy-core.c                             |  76 +-
 drivers/phy/phy-exynos-dp-video.c                  |   8 +-
 drivers/phy/phy-exynos-mipi-video.c                |  10 +-
 drivers/phy/phy-mvebu-sata.c                       |  10 +-
 drivers/phy/phy-omap-usb2.c                        |  10 +-
 drivers/phy/phy-twl4030-usb.c                      |  10 +-
 drivers/power/ds2782_battery.c                     |   2 +-
 drivers/power/isp1704_charger.c                    |   2 -
 drivers/power/max17040_battery.c                   |   5 +-
 drivers/regulator/core.c                           |   2 +-
 drivers/regulator/da9055-regulator.c               |   4 +-
 drivers/regulator/da9063-regulator.c               |   4 +-
 drivers/regulator/max14577.c                       |  10 +-
 drivers/regulator/s5m8767.c                        |   4 +-
 drivers/s390/cio/cio.c                             |  40 +-
 drivers/s390/cio/qdio.h                            |  14 +-
 drivers/s390/cio/qdio_main.c                       |   2 +-
 drivers/sbus/char/jsflash.c                        |   1 -
 drivers/scsi/qla2xxx/qla_target.c                  |   2 -
 drivers/scsi/qla2xxx/qla_target.h                  |   1 -
 drivers/scsi/scsi_lib.c                            |   2 +-
 drivers/spi/Kconfig                                |   4 +-
 drivers/spi/spi-nuc900.c                           |   2 +
 drivers/spi/spi.c                                  |   4 +-
 drivers/staging/android/ashmem.c                   |  45 +-
 drivers/staging/android/binder.c                   |   3 +-
 drivers/staging/android/ion/compat_ion.c           |  26 +-
 drivers/staging/android/ion/ion_dummy_driver.c     |  12 +-
 drivers/staging/android/ion/ion_heap.c             |   2 +-
 drivers/staging/android/ion/ion_priv.h             |   1 +
 drivers/staging/android/ion/ion_system_heap.c      |   6 +-
 drivers/staging/android/sw_sync.h                  |  17 +
 drivers/staging/android/sync.c                     |  14 +-
 drivers/staging/bcm/Bcmnet.c                       |   2 +-
 drivers/staging/comedi/drivers.c                   |   2 -
 drivers/staging/comedi/drivers/adv_pci1710.c       |  17 +-
 drivers/staging/comedi/drivers/usbduxsigma.c       |   6 +-
 drivers/staging/dgrp/dgrp_net_ops.c                | 330 ++++----
 drivers/staging/gdm72xx/gdm_usb.c                  |   3 +
 drivers/staging/iio/Documentation/iio_utils.h      |   6 +-
 drivers/staging/iio/adc/ad799x_core.c              |  13 +-
 drivers/staging/iio/adc/mxs-lradc.c                |   6 +-
 drivers/staging/iio/impedance-analyzer/ad5933.c    |   2 +-
 drivers/staging/imx-drm/imx-drm-core.c             |  55 +-
 drivers/staging/imx-drm/imx-hdmi.c                 |  22 +-
 drivers/staging/lustre/TODO                        |   5 +-
 .../include/linux/libcfs/libcfs_kernelcomm.h       |   2 +
 .../lustre/include/linux/libcfs/libcfs_private.h   |   2 +-
 .../staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c |   2 +-
 .../staging/lustre/lnet/klnds/socklnd/socklnd_cb.c |   5 +-
 .../lustre/lustre/include/lustre/lustre_user.h     |   3 +-
 drivers/staging/lustre/lustre/llite/dir.c          |   2 +-
 drivers/staging/lustre/lustre/mdc/mdc_request.c    |   6 +-
 drivers/staging/netlogic/xlr_net.c                 |   7 +-
 drivers/staging/octeon-usb/octeon-hcd.c            | 273 +++----
 drivers/staging/ozwpan/ozproto.c                   |   3 +-
 drivers/staging/rtl8188eu/core/rtw_wlan_util.c     |  22 +-
 drivers/staging/rtl8188eu/os_dep/ioctl_linux.c     |  12 +-
 drivers/staging/rtl8188eu/os_dep/os_intfs.c        |   2 +-
 drivers/staging/rtl8188eu/os_dep/usb_intf.c        |   2 +-
 drivers/staging/rtl8821ae/Kconfig                  |   2 +-
 drivers/staging/rtl8821ae/wifi.h                   |   2 +-
 drivers/staging/usbip/userspace/libsrc/names.c     |   8 +-
 drivers/staging/usbip/vhci_sysfs.c                 |   3 +-
 drivers/staging/wlags49_h2/wl_wext.c               |   2 +-
 drivers/target/iscsi/iscsi_target_erl1.c           |   4 +-
 drivers/target/target_core_alua.c                  |   2 +-
 drivers/target/target_core_pr.c                    |  11 +-
 drivers/target/target_core_sbc.c                   |   8 +
 drivers/target/target_core_spc.c                   |   4 +-
 drivers/target/target_core_transport.c             |   5 +-
 drivers/tty/hvc/hvc_opal.c                         |   8 +-
 drivers/tty/hvc/hvc_rtas.c                         |  12 +-
 drivers/tty/hvc/hvc_udbg.c                         |   9 +-
 drivers/tty/hvc/hvc_xen.c                          |  17 +-
 drivers/tty/n_gsm.c                                |  11 +
 drivers/tty/n_tty.c                                |  14 +-
 drivers/tty/serial/8250/8250_core.c                |  18 +
 drivers/tty/serial/8250/8250_dw.c                  |   4 +-
 drivers/tty/serial/8250/8250_pci.c                 |   3 +-
 drivers/tty/serial/omap-serial.c                   |  11 +-
 drivers/tty/serial/sirfsoc_uart.c                  |   4 +-
 drivers/tty/vt/vt.c                                |   2 +
 drivers/usb/chipidea/udc.c                         |   4 +-
 drivers/usb/core/driver.c                          |  24 +-
 drivers/usb/core/hcd.c                             |   1 -
 drivers/usb/core/hub.c                             |   7 +-
 drivers/usb/core/usb.h                             |   1 -
 drivers/usb/dwc2/core.c                            |   2 +-
 drivers/usb/dwc2/hcd.c                             |  11 -
 drivers/usb/dwc2/platform.c                        |   3 +
 drivers/usb/gadget/bcm63xx_udc.c                   |  58 +-
 drivers/usb/gadget/f_fs.c                          |   7 +-
 drivers/usb/gadget/printer.c                       |   2 +-
 drivers/usb/gadget/s3c2410_udc.c                   |   2 +-
 drivers/usb/host/ehci-hub.c                        |  26 +-
 drivers/usb/host/xhci-dbg.c                        |   6 +-
 drivers/usb/host/xhci-mem.c                        |  14 +-
 drivers/usb/host/xhci-pci.c                        |   5 +
 drivers/usb/host/xhci-ring.c                       |  68 +-
 drivers/usb/host/xhci.c                            |  38 +-
 drivers/usb/host/xhci.h                            |  41 +-
 drivers/usb/musb/musb_core.c                       |  15 +-
 drivers/usb/musb/musb_host.c                       |   3 +
 drivers/usb/musb/musb_virthub.c                    |  26 +-
 drivers/usb/musb/omap2430.c                        |   2 -
 drivers/usb/phy/phy-msm-usb.c                      |  57 +-
 drivers/usb/phy/phy.c                              |   8 +-
 drivers/usb/serial/ftdi_sio.c                      |   3 +
 drivers/usb/serial/ftdi_sio_ids.h                  |   7 +
 drivers/usb/serial/option.c                        |   6 +-
 drivers/usb/serial/qcserial.c                      |   3 +
 drivers/usb/serial/usb-serial-simple.c             |   3 +-
 drivers/usb/storage/Kconfig                        |   4 +-
 drivers/usb/storage/scsiglue.c                     |   6 +
 drivers/usb/storage/unusual_cypress.h              |   2 +-
 drivers/usb/storage/unusual_devs.h                 |   7 +
 drivers/vhost/net.c                                |  47 +-
 drivers/video/Kconfig                              |   2 +-
 drivers/video/exynos/Kconfig                       |   3 +-
 .../video/omap2/displays-new/connector-analog-tv.c |  43 +-
 drivers/video/omap2/displays-new/connector-dvi.c   |  43 +
 drivers/video/omap2/displays-new/connector-hdmi.c  |  30 +
 drivers/video/omap2/displays-new/encoder-tfp410.c  |  43 +-
 .../video/omap2/displays-new/encoder-tpd12s015.c   |  56 ++
 drivers/video/omap2/displays-new/panel-dsi-cm.c    |  60 +-
 .../omap2/displays-new/panel-sony-acx565akm.c      |  33 +-
 drivers/video/omap2/dss/Makefile                   |   2 +-
 drivers/video/omap2/dss/dispc.c                    |  24 +-
 drivers/video/omap2/dss/display.c                  |  28 +-
 drivers/video/omap2/dss/dpi.c                      |  49 +-
 drivers/video/omap2/dss/dsi.c                      | 147 +++-
 drivers/video/omap2/dss/dss-of.c                   | 159 ++++
 drivers/video/omap2/dss/dss.c                      |  66 ++
 drivers/video/omap2/dss/dss.h                      |   6 +
 drivers/video/omap2/dss/hdmi4.c                    |  14 +-
 drivers/video/omap2/dss/hdmi_wp.c                  |   2 +
 drivers/video/omap2/dss/sdi.c                      |  47 +-
 drivers/video/omap2/dss/venc.c                     |  66 +-
 drivers/video/omap2/omapfb/omapfb-main.c           |  67 +-
 drivers/vme/bridges/vme_ca91cx42.c                 |   4 +-
 drivers/vme/bridges/vme_tsi148.c                   |   4 +-
 drivers/watchdog/w83697hf_wdt.c                    |   2 +-
 drivers/xen/Makefile                               |   1 -
 drivers/xen/events/events_base.c                   |   2 +
 drivers/xen/xencomm.c                              | 219 -----
 fs/bio-integrity.c                                 |  13 +-
 fs/bio.c                                           |  15 +-
 fs/btrfs/disk-io.c                                 |   1 -
 fs/btrfs/inode.c                                   |   2 +-
 fs/btrfs/ioctl.c                                   |  16 -
 fs/btrfs/send.c                                    |  10 +
 fs/btrfs/super.c                                   |  11 +-
 fs/btrfs/sysfs.c                                   |  10 +-
 fs/ceph/acl.c                                      |  11 +-
 fs/ceph/dir.c                                      |  23 +-
 fs/ceph/file.c                                     |   1 +
 fs/ceph/super.c                                    |  32 +-
 fs/ceph/super.h                                    |   7 +-
 fs/ceph/xattr.c                                    |  54 +-
 fs/cifs/cifsacl.c                                  |  61 +-
 fs/cifs/cifsglob.h                                 |  11 +-
 fs/cifs/cifsproto.h                                |   9 +-
 fs/cifs/cifssmb.c                                  |  15 +-
 fs/cifs/dir.c                                      |   2 +-
 fs/cifs/file.c                                     |  70 +-
 fs/cifs/inode.c                                    |  15 +-
 fs/cifs/smb1ops.c                                  |   9 +
 fs/cifs/smb2glob.h                                 |   3 +
 fs/cifs/smb2ops.c                                  |  14 +-
 fs/cifs/smb2pdu.c                                  |   9 +-
 fs/cifs/smb2proto.h                                |   3 +-
 fs/cifs/xattr.c                                    |  15 +-
 fs/ext4/ext4.h                                     |   2 +
 fs/ext4/extents.c                                  |   1 +
 fs/ext4/ioctl.c                                    |   3 +-
 fs/ext4/resize.c                                   |  34 +-
 fs/ext4/super.c                                    |  20 +-
 fs/file.c                                          |   2 +-
 fs/fscache/object-list.c                           |   5 +
 fs/fscache/object.c                                |   3 +
 fs/jbd2/transaction.c                              |   6 +-
 fs/jfs/acl.c                                       |   2 +
 fs/lockd/svclock.c                                 |   8 +
 fs/nfs/dir.c                                       |   5 +
 fs/nfs/inode.c                                     |  14 +-
 fs/nfs/internal.h                                  |  12 +-
 fs/nfs/nfs3proc.c                                  |   1 +
 fs/nfs/nfs4client.c                                |   7 +-
 fs/nfs/nfs4namespace.c                             |  12 +-
 fs/nfs/nfs4state.c                                 |   5 +-
 fs/nfsd/nfs4acl.c                                  |   9 +-
 fs/ocfs2/alloc.c                                   |   2 +-
 fs/ocfs2/file.c                                    |  52 +-
 fs/ocfs2/namei.c                                   |  17 +
 fs/proc/vmcore.c                                   |  26 +-
 fs/reiserfs/do_balan.c                             | 895 +++++----------------
 fs/xfs/xfs_iops.c                                  |  16 +-
 fs/xfs/xfs_log_cil.c                               |  19 +-
 fs/xfs/xfs_mount.c                                 |  24 +-
 fs/xfs/xfs_sb.c                                    |  10 +-
 include/asm-generic/pgtable.h                      |  39 +
 include/drm/drmP.h                                 |   3 +
 include/drm/drm_crtc.h                             |   3 +
 include/drm/ttm/ttm_page_alloc.h                   |   2 +
 include/dt-bindings/pinctrl/am43xx.h               |   1 +
 include/linux/bio.h                                |  12 +
 include/linux/blk-mq.h                             |   9 +-
 include/linux/blkdev.h                             |  11 +-
 include/linux/can/skb.h                            |  38 +
 include/linux/ceph/ceph_fs.h                       |   5 +-
 include/linux/cgroup.h                             |   2 +
 include/linux/compiler-gcc4.h                      |   6 +-
 include/linux/dma-buf.h                            |   2 +-
 include/linux/gpio/consumer.h                      |   4 +-
 include/linux/hyperv.h                             |   2 +-
 include/linux/interrupt.h                          |   5 +
 include/linux/mfd/max8997-private.h                |   2 +-
 include/linux/mfd/max8998-private.h                |   2 +-
 include/linux/mfd/tps65217.h                       |   4 +-
 include/linux/mlx5/driver.h                        |   3 +
 include/linux/netdevice.h                          |  36 +-
 include/linux/of.h                                 | 153 ++--
 include/linux/of_device.h                          |   4 +-
 include/linux/pci.h                                |  20 +
 include/linux/phy/phy.h                            |  14 +
 include/linux/skbuff.h                             |  17 +
 include/linux/smp.h                                |   3 +
 include/linux/spi/spi.h                            |   7 +-
 include/linux/syscalls.h                           |   6 +-
 include/linux/usb.h                                |   2 -
 include/linux/workqueue.h                          |   5 +-
 include/net/datalink.h                             |   2 +
 include/net/dn.h                                   |   2 +
 include/net/dn_route.h                             |   2 +
 include/net/ethoc.h                                |   1 +
 include/net/ipx.h                                  |  11 +
 include/net/net_namespace.h                        |   8 +
 include/net/netfilter/nf_conntrack.h               |   2 +
 include/net/netfilter/nf_tables.h                  |   9 +-
 include/net/netfilter/nft_reject.h                 |  25 +
 include/net/sctp/structs.h                         |  14 +-
 include/rdma/ib_verbs.h                            |   3 +-
 include/target/target_core_base.h                  |   1 -
 include/trace/events/power.h                       |   7 +-
 include/uapi/drm/drm.h                             |   2 +
 include/uapi/drm/vmwgfx_drm.h                      |   1 +
 include/uapi/linux/btrfs.h                         |   1 -
 include/uapi/linux/in6.h                           |  23 +-
 include/uapi/linux/mic_ioctl.h                     |   2 +-
 include/uapi/xen/Kbuild                            |   2 +
 include/{ => uapi}/xen/gntalloc.h                  |   0
 include/{ => uapi}/xen/gntdev.h                    |   0
 include/video/omapdss.h                            |  14 +
 include/xen/interface/io/blkif.h                   |  34 +-
 include/xen/interface/xencomm.h                    |  41 -
 include/xen/xencomm.h                              |  77 --
 kernel/cgroup.c                                    |  60 +-
 kernel/irq/devres.c                                |  45 ++
 kernel/irq/irqdesc.c                               |   1 +
 kernel/power/console.c                             |   1 +
 kernel/printk/printk.c                             |   2 -
 kernel/sched/core.c                                |  28 +-
 kernel/sched/cpudeadline.c                         |   6 +-
 kernel/sched/deadline.c                            |  10 +-
 kernel/sched/fair.c                                |   2 +
 kernel/sched/sched.h                               |   1 -
 kernel/time/jiffies.c                              |   6 +
 kernel/time/sched_clock.c                          |  46 +-
 kernel/time/tick-broadcast.c                       |   1 +
 kernel/trace/ring_buffer.c                         |   7 +
 kernel/user_namespace.c                            |   2 +-
 kernel/workqueue.c                                 |   7 +
 lib/percpu_ida.c                                   |   7 +-
 mm/huge_memory.c                                   |   9 +-
 mm/memory-failure.c                                |   6 +-
 mm/mprotect.c                                      |  25 +-
 mm/slub.c                                          |  38 +-
 mm/vmpressure.c                                    |   1 +
 net/9p/client.c                                    |   2 +-
 net/9p/trans_virtio.c                              |   5 +-
 net/batman-adv/bat_iv_ogm.c                        |  30 +-
 net/batman-adv/hard-interface.c                    |  22 +-
 net/batman-adv/originator.c                        |  36 +
 net/batman-adv/originator.h                        |   4 +
 net/batman-adv/routing.c                           |   4 +-
 net/batman-adv/send.c                              |   9 +-
 net/batman-adv/translation-table.c                 |  23 +-
 net/bluetooth/hidp/core.c                          |  16 +-
 net/bluetooth/hidp/hidp.h                          |   4 +
 net/bridge/br_device.c                             |  54 +-
 net/bridge/br_fdb.c                                | 137 ++--
 net/bridge/br_if.c                                 |   6 +-
 net/bridge/br_input.c                              |   4 +-
 net/bridge/br_private.h                            |  13 +-
 net/bridge/br_stp_if.c                             |   2 +
 net/bridge/br_vlan.c                               |  27 +-
 net/caif/caif_dev.c                                |   1 +
 net/caif/cfsrvl.c                                  |   1 +
 net/can/af_can.c                                   |   3 +-
 net/can/bcm.c                                      |   4 +-
 net/can/raw.c                                      |   1 +
 net/core/dev.c                                     |  28 +-
 net/core/fib_rules.c                               |   7 +
 net/core/flow_dissector.c                          |  20 +-
 net/core/netpoll.c                                 |   4 +-
 net/core/rtnetlink.c                               |  21 +-
 net/core/sock.c                                    |   6 +-
 net/dccp/ccids/lib/tfrc.c                          |   2 +-
 net/dccp/ccids/lib/tfrc.h                          |   1 +
 net/decnet/af_decnet.c                             |   5 -
 net/ieee802154/6lowpan.c                           |  23 +-
 net/ipv4/devinet.c                                 |   3 +-
 net/ipv4/ip_forward.c                              |  71 +-
 net/ipv4/ip_tunnel.c                               |  29 +-
 net/ipv4/ipconfig.c                                |   2 +-
 net/ipv4/netfilter/Kconfig                         |   5 +
 net/ipv4/netfilter/Makefile                        |   1 +
 net/ipv4/netfilter/nf_nat_h323.c                   |   5 +-
 net/ipv4/netfilter/nft_reject_ipv4.c               |  75 ++
 net/ipv4/route.c                                   |  13 +-
 net/ipv4/tcp.c                                     |   2 +-
 net/ipv4/tcp_input.c                               |  18 +-
 net/ipv4/tcp_output.c                              |  15 +-
 net/ipv4/udp_offload.c                             |  17 +-
 net/ipv6/addrconf.c                                |   2 +
 net/ipv6/icmp.c                                    |   2 +-
 net/ipv6/ip6_output.c                              |  17 +-
 net/ipv6/netfilter/Kconfig                         |   5 +
 net/ipv6/netfilter/Makefile                        |   1 +
 net/ipv6/netfilter/nft_reject_ipv6.c               |  76 ++
 net/ipx/af_ipx.c                                   |  22 +-
 net/ipx/ipx_route.c                                |   4 -
 net/mac80211/cfg.c                                 |  44 +-
 net/mac80211/ht.c                                  |   4 +-
 net/mac80211/ibss.c                                |   5 +-
 net/mac80211/iface.c                               |  33 +-
 net/mac80211/tx.c                                  |   2 +-
 net/netfilter/Kconfig                              |   6 +-
 net/netfilter/Makefile                             |   1 +
 net/netfilter/ipvs/ip_vs_conn.c                    |   8 +-
 net/netfilter/nf_conntrack_core.c                  |  55 +-
 net/netfilter/nf_synproxy_core.c                   |   5 +-
 net/netfilter/nf_tables_api.c                      |  82 +-
 net/netfilter/nf_tables_core.c                     |   6 +-
 net/netfilter/nft_ct.c                             |  16 +-
 net/netfilter/nft_log.c                            |   5 +-
 net/netfilter/nft_lookup.c                         |   1 +
 net/netfilter/nft_queue.c                          |   4 +-
 net/netfilter/nft_rbtree.c                         |  16 +-
 net/netfilter/nft_reject.c                         |  89 +-
 net/netfilter/nft_reject_inet.c                    |  63 ++
 net/netfilter/xt_CT.c                              |   7 +-
 net/openvswitch/datapath.c                         |  23 +-
 net/openvswitch/flow_table.c                       |  88 +-
 net/openvswitch/flow_table.h                       |   2 +-
 net/packet/af_packet.c                             |  26 +-
 net/sched/sch_pie.c                                |  21 +-
 net/sctp/associola.c                               |  82 +-
 net/sctp/ipv6.c                                    |   2 +
 net/sctp/sm_statefuns.c                            |   2 +-
 net/sctp/socket.c                                  |  47 +-
 net/sctp/sysctl.c                                  |  18 +-
 net/sctp/ulpevent.c                                |   8 +-
 net/sunrpc/auth_gss/auth_gss.c                     |  19 +-
 net/sunrpc/backchannel_rqst.c                      |   6 +-
 net/sunrpc/svc_xprt.c                              |   6 +-
 net/sunrpc/xprtsock.c                              |   6 +-
 net/tipc/core.h                                    |   1 +
 net/tipc/link.c                                    |   7 +
 net/wireless/core.c                                |  17 +-
 net/wireless/core.h                                |   4 +-
 net/wireless/nl80211.c                             |  32 +-
 net/wireless/nl80211.h                             |   8 +-
 net/wireless/scan.c                                |  40 +-
 net/wireless/sme.c                                 |   2 +-
 scripts/Makefile.lib                               |   1 +
 scripts/checkpatch.pl                              |   4 +-
 scripts/get_maintainer.pl                          |   2 +-
 scripts/mod/file2alias.c                           |   4 +-
 sound/pci/hda/hda_codec.c                          |  34 +-
 sound/pci/hda/hda_generic.c                        |   8 +-
 sound/pci/hda/hda_generic.h                        |   1 +
 sound/pci/hda/hda_intel.c                          |   2 +-
 sound/pci/hda/patch_ca0132.c                       |  68 +-
 sound/pci/hda/patch_conexant.c                     |   3 +-
 sound/pci/hda/patch_realtek.c                      |  16 +-
 sound/pci/hda/patch_sigmatel.c                     |  40 +-
 sound/pci/hda/thinkpad_helper.c                    |   1 +
 sound/soc/blackfin/Kconfig                         |  11 +-
 sound/soc/codecs/da9055.c                          |  11 +-
 sound/soc/codecs/max98090.c                        |  21 +-
 sound/soc/codecs/rt5640.c                          |   1 +
 sound/soc/codecs/wm8993.c                          |   1 -
 sound/soc/davinci/davinci-evm.c                    |   1 +
 sound/soc/davinci/davinci-mcasp.c                  |  83 +-
 sound/soc/fsl/fsl_esai.c                           |   4 +-
 sound/soc/fsl/fsl_esai.h                           |   2 +-
 sound/soc/fsl/imx-mc13783.c                        |   1 -
 sound/soc/fsl/imx-sgtl5000.c                       |  10 +-
 sound/soc/fsl/imx-wm8962.c                         |  11 +-
 sound/soc/samsung/Kconfig                          |   6 +-
 sound/soc/txx9/txx9aclc-ac97.c                     |   8 +-
 sound/usb/mixer_maps.c                             |   9 +
 tools/perf/builtin-trace.c                         |  22 +
 tools/perf/util/parse-events.c                     |  17 +-
 tools/perf/util/probe-event.c                      |   2 +-
 tools/perf/util/session.c                          |   6 +
 virt/kvm/arm/vgic.c                                |   1 +
 virt/kvm/coalesced_mmio.c                          |   8 +-
 964 files changed, 15201 insertions(+), 5719 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt
 create mode 100644 Documentation/devicetree/bindings/net/sti-dwmac.txt
 create mode 100644 Documentation/devicetree/bindings/power/bq2415x.txt
 create mode 100644 Documentation/devicetree/bindings/video/analog-tv-connector.txt
 create mode 100644 Documentation/devicetree/bindings/video/dvi-connector.txt
 create mode 100644 Documentation/devicetree/bindings/video/hdmi-connector.txt
 create mode 100644 Documentation/devicetree/bindings/video/panel-dsi-cm.txt
 create mode 100644 Documentation/devicetree/bindings/video/sony,acx565akm.txt
 create mode 100644 Documentation/devicetree/bindings/video/ti,omap-dss.txt
 create mode 100644 Documentation/devicetree/bindings/video/ti,omap2-dss.txt
 create mode 100644 Documentation/devicetree/bindings/video/ti,omap3-dss.txt
 create mode 100644 Documentation/devicetree/bindings/video/ti,omap4-dss.txt
 create mode 100644 Documentation/devicetree/bindings/video/ti,tfp410.txt
 create mode 100644 Documentation/devicetree/bindings/video/ti,tpd12s015.txt
 delete mode 100644 Documentation/networking/3c505.txt
 create mode 100644 Documentation/spi/00-INDEX
 create mode 100644 Documentation/zh_CN/arm64/tagged-pointers.txt
 create mode 100644 arch/arm/boot/dts/am3517-craneboard.dts
 create mode 100644 arch/arm/boot/dts/am437x-gp-evm.dts
 create mode 100644 arch/arm/boot/dts/at91-sama5d3_xplained.dts
 create mode 100644 arch/arm/boot/dts/omap3-cm-t3517.dts
 create mode 100644 arch/arm/boot/dts/omap3-cm-t3530.dts
 create mode 100644 arch/arm/boot/dts/omap3-cm-t3x.dtsi
 create mode 100644 arch/arm/boot/dts/omap3-lilly-a83x.dtsi
 create mode 100644 arch/arm/boot/dts/omap3-lilly-dbb056.dts
 create mode 100644 arch/arm/boot/dts/omap3-overo-storm-tobi.dts
 rename arch/arm/boot/dts/{omap3-tobi.dts => omap3-overo-tobi-common.dtsi} (94%)
 create mode 100644 arch/arm/boot/dts/omap3-overo-tobi.dts
 create mode 100644 arch/arm/boot/dts/omap3-sbc-t3517.dts
 create mode 100644 arch/arm/boot/dts/omap3-sbc-t3530.dts
 create mode 100644 arch/arm/boot/dts/omap4-duovero-parlor.dts
 create mode 100644 arch/arm/boot/dts/omap4-duovero.dtsi
 delete mode 100644 arch/arm/boot/dts/testcases/tests.dtsi
 create mode 100644 drivers/gpu/drm/nouveau/core/subdev/mc/nv4c.c
 create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c
 delete mode 100644 drivers/net/irda/ep7211-sir.c
 create mode 100644 drivers/net/usb/sr9800.c
 create mode 100644 drivers/net/usb/sr9800.h
 create mode 100644 drivers/of/testcase-data/testcases.dtsi
 rename {arch/arm/boot/dts/testcases => drivers/of/testcase-data}/tests-interrupts.dtsi (100%)
 create mode 100644 drivers/of/testcase-data/tests-match.dtsi
 rename {arch/arm/boot/dts/testcases => drivers/of/testcase-data}/tests-phandle.dtsi (100%)
 create mode 100644 drivers/video/omap2/dss/dss-of.c
 delete mode 100644 drivers/xen/xencomm.c
 create mode 100644 include/net/netfilter/nft_reject.h
 rename include/{ => uapi}/xen/gntalloc.h (100%)
 rename include/{ => uapi}/xen/gntdev.h (100%)
 delete mode 100644 include/xen/interface/xencomm.h
 delete mode 100644 include/xen/xencomm.h
 create mode 100644 net/ipv4/netfilter/nft_reject_ipv4.c
 create mode 100644 net/ipv6/netfilter/nft_reject_ipv6.c
 create mode 100644 net/netfilter/nft_reject_inet.c


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply

* Re: [PATCH 08/16] backlight: pwm_bl: set pwm polarity when using platform data
From: Thierry Reding @ 2014-04-07 11:16 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1395234209-15546-9-git-send-email-alexandre.belloni@free-electrons.com>

[-- Attachment #1: Type: text/plain, Size: 1410 bytes --]

On Wed, Mar 19, 2014 at 02:03:21PM +0100, Alexandre Belloni wrote:
> Set inversed polarity when .pwm_active_low is set in the platform_data. With
> device tree, this is taken care of by of_pwm_xlate_with_flags(), called from
> of_pwm_get().
> 
> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
> ---
>  drivers/video/backlight/pwm_bl.c | 8 ++++++++
>  include/linux/pwm_backlight.h    | 1 +
>  2 files changed, 9 insertions(+)
> 
> diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c
> index b75201ff46f6..ffdd3b2b2742 100644
> --- a/drivers/video/backlight/pwm_bl.c
> +++ b/drivers/video/backlight/pwm_bl.c
> @@ -309,6 +309,14 @@ static int pwm_backlight_probe(struct platform_device *pdev)
>  	if (data->pwm_period_ns > 0)
>  		pwm_set_period(pb->pwm, data->pwm_period_ns);
>  
> +	/*
> +	 * The DT case is taking care of polarity in of_pwm_get(). For the
> +	 * non-DT case, set the polarity from platform data.
> +	 */
> +	if (data->pwm_active_low)
> +		if (pwm_set_polarity(pb->pwm, PWM_POLARITY_INVERSED))
> +			dev_err(&pdev->dev, "impossible to invert polarity\n");

Could this perhaps be solved by adding a field to the PWM lookup table
that's used for non-DT cases? The idea being that we can use the same
interfaces for DT and non-DT cases, so we should try to move both
towards the same representation.

Thierry

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply

* Re: [PATCH 09/16] avr32/at32ap: switch to the generic PWM framework
From: Thierry Reding @ 2014-04-07 11:28 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20140319141820.GA20872@samfundet.no>

[-- Attachment #1: Type: text/plain, Size: 1959 bytes --]

On Wed, Mar 19, 2014 at 03:18:20PM +0100, Hans-Christian Egtvedt wrote:
> Around Wed 19 Mar 2014 14:03:22 +0100 or thereabout, Alexandre Belloni wrote:
> > Switch to the pwm/pwm-atmel driver instead of misc/atmel_pwm
> > 
> > Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
> 
> Acked-by: Hans-Christian Egtvedt <egtvedt@samfundet.no>
> 
> > ---
> >  arch/avr32/mach-at32ap/at32ap700x.c | 7 ++-----
> >  1 file changed, 2 insertions(+), 5 deletions(-)
> > 
> > diff --git a/arch/avr32/mach-at32ap/at32ap700x.c b/arch/avr32/mach-at32ap/at32ap700x.c
> > index a1f4d1e91b52..db85b5ec3351 100644
> > --- a/arch/avr32/mach-at32ap/at32ap700x.c
> > +++ b/arch/avr32/mach-at32ap/at32ap700x.c
> > @@ -1553,7 +1553,7 @@ static struct resource atmel_pwm0_resource[] __initdata = {
> >  	IRQ(24),
> >  };
> >  static struct clk atmel_pwm0_mck = {
> > -	.name		= "pwm_clk",
> > +	.name		= "at91sam9rl-pwm",
> 
> I found this a tiny bit weird, but found the matching instance in
> drivers/pwm/pwm-atmel.c
> 
> IMHO it would initially have been better to call it atpwm_v1 or something
> similar, more generic. But I guess that is too late to change at this point.

Generally when you call clk_get(dev, NULL), you'll pass in the consumer
device as "dev". Now the avr32 clock implementation compares that to the
device associated with the clock, which for the case of the PWM pwm0_mck
is the PWM controller (at32_add_device_pwm() for reference). So it seems
to be set up properly (the PWM controller is the consumer).

Also since the consumer ID isn't specified to the clk_get() call, the
name of the clock (what's being changed in the above hunk) shouldn't
matter because it won't match anyway.

Now that I look at it more closely, I wonder how clk_get(dev, NULL) can
even work on avr32, since there's no check for id == NULL and therefore
NULL will be blindly passed into strcmp() and then crash.

Thierry

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox