All of lore.kernel.org
 help / color / mirror / Atom feed
From: Olliver Schinagl <oliver@schinagl.nl>
To: "Thomas Niederprüm" <niederp@physik.uni-kl.de>,
	plagnioj@jcrosoft.com, tomi.valkeinen@ti.com,
	maxime.ripard@free-electrons.com, kernel@pengutronix.de,
	shawn.guo@linaro.org, robh+dt@kernel.org
Cc: linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCHv5 04/11] fbdev: ssd1307fb: Unify init code and obtain hw specific bits from DT
Date: Wed, 25 Mar 2015 15:49:47 +0000	[thread overview]
Message-ID: <5512D91B.9090709@schinagl.nl> (raw)
In-Reply-To: <1427232238-21099-5-git-send-email-niederp@physik.uni-kl.de>

Hey Thomas,

awesome the time you put into this driver. It does what I was working on 
the last few weeks, but with a much bigger bang ;)

I personally have a ssd1309 and will be submitting the patches for that 
after testing your patch-set.

On 24-03-15 22:23, Thomas Niederprüm wrote:
> The 130X controllers are very similar from the configuration point of view.
> The configuration registers for the SSD1305/6/7 are bit identical (except the
> the VHCOM register and the the default values for clock setup register). This
> patch unifies the init code of the controller and adds hardware specific
> properties to DT that are needed to correctly initialize the device.
>
> The SSD130X can be wired to the OLED panel in various ways. Even for the
> same controller this wiring can differ from one display module to another
> and can not be probed by software. The added DT properties reflect these
> hardware decisions of the display module manufacturer.
> The 'com-sequential', 'com-lrremap' and 'com-invdir' values define different
> possibilities for the COM signals pin configuration and readout direction
> of the video memory. The 'segment-no-remap' allows the inversion of the
> memory-to-pin mapping ultimately inverting the order of the controllers
> output pins. The 'prechargepX' values need to be adapted according to the
> capacitance of the OLEDs pixel cells.
>
> So far these hardware specific bits are hard coded in the init code, making
> the driver usable only for one certain wiring of the controller. This patch
> makes the driver usable with all possible hardware setups, given a valid hw
> description in DT. If these values are not set in DT the default values,
> as they are set in the ssd1307 init code right now, are used. This implies
> that without the corresponding DT property "segment-no-remap" the segment
> remap of the ssd130X controller gets activated. Even though this is not the
> default behaviour according to the datasheet it maintains backward
> compatibility with older DTBs.
>
> Note that the SSD1306 does not seem to be using the configuration written to
> the registers at all. Therefore this patch does not try to maintain these
> values without changes in DT. For reference an example is added to the DT
> bindings documentation that reproduces the configuration that is set in the
> current init code.
>
> Signed-off-by: Thomas Niederprüm <niederp@physik.uni-kl.de>
> ---
>   .../devicetree/bindings/video/ssd1307fb.txt        |  21 +++
>   drivers/video/fbdev/ssd1307fb.c                    | 192 ++++++++++++---------
>   2 files changed, 134 insertions(+), 79 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/video/ssd1307fb.txt b/Documentation/devicetree/bindings/video/ssd1307fb.txt
> index 7a12542..637690f 100644
> --- a/Documentation/devicetree/bindings/video/ssd1307fb.txt
> +++ b/Documentation/devicetree/bindings/video/ssd1307fb.txt
> @@ -15,6 +15,16 @@ Required properties:
>
>   Optional properties:
>     - reset-active-low: Is the reset gpio is active on physical low?
> +  - solomon,segment-no-remap: Display needs normal (non-inverted) data column
> +                              to segment mapping
> +  - solomon,com-sequential: Display uses sequential COM pin configuration
> +  - solomon,com-lrremap: Display uses left-right COM pin remap
> +  - solomon,com-invdir: Display uses inverted COM pin scan direction
> +  - solomon,com-offset: Number of the COM pin wired to the first display line
> +  - solomon,prechargep1: Length of deselect period (phase 1) in clock cycles.
> +  - solomon,prechargep2: Length of precharge period (phase 2) in clock cycles.
> +                         This needs to be the higher, the higher the capacitance
> +                         of the OLED's pixels is
Aren't the height, width and page-offset also optional? They should be 
set to sane defaults when not supplied. Though the default (which is the 
max really) width/height depends on the actual attached display to the 
chip (I mention this in the vcomh section too below, the controller's 
width/height would be the absolute maximum values, the display can 
always be smaller).

Same goes to say for the precharge, and probably other parameters. I 
don't think we have a proper framework to handle the attached displays 
to a controller chip at the moment anyhow?

>
>   [0]: Documentation/devicetree/bindings/pwm/pwm.txt
>
<snip>
> +
> +	/* Set COM direction */
> +	com_invdir = 0xc0 | (par->com_invdir & 0xf) << 3;
Shouldn't this be par->com_invdir & 0x1 ?
The datasheet only mentions 1 bit change for the ssd1306, ssd1307 and 
ssd1309. I dont' know what the ssd1305 does here though.

> +	ret = ssd1307fb_write_cmd(par->client,  com_invdir);
>   	if (ret < 0)
>   		return ret;
<snip>
>
> -	ret = ssd1307fb_write_cmd(par->client, 0x14);
> -	if (ret < 0)
> -		return ret;
> +		ret = ssd1307fb_write_cmd(par->client, 0x14);
> +		if (ret < 0)
> +			return ret;
> +	};
I had to look hard for this setting, as my old datasheet had omitted the 
charge pump def.

but wouldn't you want something like (0x10 | 
par->device_info->need_chargepump & 0x1 << 2) & 0x14 to follow your 
previous styles?

Only bit 2 determines the state of the charge-pump. And I guess it 
should be safe to use on the other chips as well. My 1309 doesn't seem 
to have a problem with it, I'm working a lot on this display so it will 
be tested thoroughly in the next few weeks.

>
>   	/* Switch to horizontal addressing mode */
>   	ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_ADDRESS_MODE);
> @@ -393,6 +390,7 @@ static int ssd1307fb_ssd1306_init(struct ssd1307fb_par *par)
>   	if (ret < 0)
>   		return ret;
>
<snip>
>
> -static struct ssd1307fb_ops ssd1307fb_ssd1306_ops = {
> -	.init	= ssd1307fb_ssd1306_init,
> +static struct ssd1307fb_deviceinfo ssd1307fb_ssd1306_deviceinfo = {
> +	.default_vcomh = 0x20,
> +	.default_dclk_div = 0,
> +	.default_dclk_frq = 8,
> +	.need_pwm = 0,
> +	.need_chargepump = 1,
> +};
This device info struct, is this really always fixed data? We use a 
ssd1309 with a MI12864MO i think and the combination of these two parts 
defines atleast the vcomh I would imagine? There are only a very limited 
number of consumers of this driver so for now it won't make much of a 
difference, just mentioning it as it is a configurable so it may matter 
depending on the physical display.
> +
> +static struct ssd1307fb_deviceinfo ssd1307fb_ssd1307_deviceinfo = {
> +	.default_vcomh = 0x20,
> +	.default_dclk_div = 1,
> +	.default_dclk_frq = 12,
> +	.need_pwm = 1,
> +	.need_chargepump = 0,
>   };
>
>   static const struct of_device_id ssd1307fb_of_match[] = {
>   	{
>   		.compatible = "solomon,ssd1306fb-i2c",
> -		.data = (void *)&ssd1307fb_ssd1306_ops,
> +		.data = (void *)&ssd1307fb_ssd1306_deviceinfo,
>   	},
>   	{
>   		.compatible = "solomon,ssd1307fb-i2c",
> -		.data = (void *)&ssd1307fb_ssd1307_ops,
> +		.data = (void *)&ssd1307fb_ssd1307_deviceinfo,
>   	},
>   	{},
>   };
> @@ -468,8 +479,8 @@ static int ssd1307fb_probe(struct i2c_client *client,
>   	par->info = info;
>   	par->client = client;
>
> -	par->ops = (struct ssd1307fb_ops *)of_match_device(ssd1307fb_of_match,
> -							   &client->dev)->data;
> +	par->device_info = (struct ssd1307fb_deviceinfo *)of_match_device(
> +			ssd1307fb_of_match, &client->dev)->data;
>
>   	par->reset = of_get_named_gpio(client->dev.of_node,
>   					 "reset-gpios", 0);
> @@ -487,6 +498,27 @@ static int ssd1307fb_probe(struct i2c_client *client,
>   	if (of_property_read_u32(node, "solomon,page-offset", &par->page_offset))
>   		par->page_offset = 1;
While your re-doing the whole driver, why use a default page_offset of 
1? 0 makes far more sense (its the default on my board also) and 
logically, we'd start counting at 0 as programmers ;) Also, the 
datasheet uses 0 as a default preset.

>
> +	if (of_property_read_u32(node, "solomon,com-offset", &par->com_offset))
> +		par->com_offset = 0;
> +
> +	if (of_property_read_u32(node, "solomon,prechargep1", &par->prechargep1))
> +		par->prechargep1 = 2;
> +
> +	if (of_property_read_u32(node, "solomon,prechargep2", &par->prechargep2))
> +		par->prechargep2 = 0;
Why set the default to 0 here? The datasheet sets it to 0x2 by default 
for example.
> +
> +	par->seg_remap = !of_property_read_bool(node, "solomon,segment-no-remap");
> +	par->com_seq = of_property_read_bool(node, "solomon,com-sequential");
all the other parameters are somewhat abbreviated, or the property name 
matches the variable name. I'd just abbreviate it to com-seq clear and 
short.


Overal, the driver works and can have a Tested-by: Olliver Schinagl 
<o.schinagl@ultimaker.com> from me (for the 1309 which I'll submit very 
soon.

Olliver

P.S. Do you have a link for your display? I'm curious as to how it looks.

WARNING: multiple messages have this Message-ID (diff)
From: Olliver Schinagl <oliver@schinagl.nl>
To: "Thomas Niederprüm" <niederp@physik.uni-kl.de>,
	plagnioj@jcrosoft.com, tomi.valkeinen@ti.com,
	maxime.ripard@free-electrons.com, kernel@pengutronix.de,
	shawn.guo@linaro.org, robh+dt@kernel.org
Cc: linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCHv5 04/11] fbdev: ssd1307fb: Unify init code and obtain hw specific bits from DT
Date: Wed, 25 Mar 2015 16:49:47 +0100	[thread overview]
Message-ID: <5512D91B.9090709@schinagl.nl> (raw)
In-Reply-To: <1427232238-21099-5-git-send-email-niederp@physik.uni-kl.de>

Hey Thomas,

awesome the time you put into this driver. It does what I was working on 
the last few weeks, but with a much bigger bang ;)

I personally have a ssd1309 and will be submitting the patches for that 
after testing your patch-set.

On 24-03-15 22:23, Thomas Niederprüm wrote:
> The 130X controllers are very similar from the configuration point of view.
> The configuration registers for the SSD1305/6/7 are bit identical (except the
> the VHCOM register and the the default values for clock setup register). This
> patch unifies the init code of the controller and adds hardware specific
> properties to DT that are needed to correctly initialize the device.
>
> The SSD130X can be wired to the OLED panel in various ways. Even for the
> same controller this wiring can differ from one display module to another
> and can not be probed by software. The added DT properties reflect these
> hardware decisions of the display module manufacturer.
> The 'com-sequential', 'com-lrremap' and 'com-invdir' values define different
> possibilities for the COM signals pin configuration and readout direction
> of the video memory. The 'segment-no-remap' allows the inversion of the
> memory-to-pin mapping ultimately inverting the order of the controllers
> output pins. The 'prechargepX' values need to be adapted according to the
> capacitance of the OLEDs pixel cells.
>
> So far these hardware specific bits are hard coded in the init code, making
> the driver usable only for one certain wiring of the controller. This patch
> makes the driver usable with all possible hardware setups, given a valid hw
> description in DT. If these values are not set in DT the default values,
> as they are set in the ssd1307 init code right now, are used. This implies
> that without the corresponding DT property "segment-no-remap" the segment
> remap of the ssd130X controller gets activated. Even though this is not the
> default behaviour according to the datasheet it maintains backward
> compatibility with older DTBs.
>
> Note that the SSD1306 does not seem to be using the configuration written to
> the registers at all. Therefore this patch does not try to maintain these
> values without changes in DT. For reference an example is added to the DT
> bindings documentation that reproduces the configuration that is set in the
> current init code.
>
> Signed-off-by: Thomas Niederprüm <niederp@physik.uni-kl.de>
> ---
>   .../devicetree/bindings/video/ssd1307fb.txt        |  21 +++
>   drivers/video/fbdev/ssd1307fb.c                    | 192 ++++++++++++---------
>   2 files changed, 134 insertions(+), 79 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/video/ssd1307fb.txt b/Documentation/devicetree/bindings/video/ssd1307fb.txt
> index 7a12542..637690f 100644
> --- a/Documentation/devicetree/bindings/video/ssd1307fb.txt
> +++ b/Documentation/devicetree/bindings/video/ssd1307fb.txt
> @@ -15,6 +15,16 @@ Required properties:
>
>   Optional properties:
>     - reset-active-low: Is the reset gpio is active on physical low?
> +  - solomon,segment-no-remap: Display needs normal (non-inverted) data column
> +                              to segment mapping
> +  - solomon,com-sequential: Display uses sequential COM pin configuration
> +  - solomon,com-lrremap: Display uses left-right COM pin remap
> +  - solomon,com-invdir: Display uses inverted COM pin scan direction
> +  - solomon,com-offset: Number of the COM pin wired to the first display line
> +  - solomon,prechargep1: Length of deselect period (phase 1) in clock cycles.
> +  - solomon,prechargep2: Length of precharge period (phase 2) in clock cycles.
> +                         This needs to be the higher, the higher the capacitance
> +                         of the OLED's pixels is
Aren't the height, width and page-offset also optional? They should be 
set to sane defaults when not supplied. Though the default (which is the 
max really) width/height depends on the actual attached display to the 
chip (I mention this in the vcomh section too below, the controller's 
width/height would be the absolute maximum values, the display can 
always be smaller).

Same goes to say for the precharge, and probably other parameters. I 
don't think we have a proper framework to handle the attached displays 
to a controller chip at the moment anyhow?

>
>   [0]: Documentation/devicetree/bindings/pwm/pwm.txt
>
<snip>
> +
> +	/* Set COM direction */
> +	com_invdir = 0xc0 | (par->com_invdir & 0xf) << 3;
Shouldn't this be par->com_invdir & 0x1 ?
The datasheet only mentions 1 bit change for the ssd1306, ssd1307 and 
ssd1309. I dont' know what the ssd1305 does here though.

> +	ret = ssd1307fb_write_cmd(par->client,  com_invdir);
>   	if (ret < 0)
>   		return ret;
<snip>
>
> -	ret = ssd1307fb_write_cmd(par->client, 0x14);
> -	if (ret < 0)
> -		return ret;
> +		ret = ssd1307fb_write_cmd(par->client, 0x14);
> +		if (ret < 0)
> +			return ret;
> +	};
I had to look hard for this setting, as my old datasheet had omitted the 
charge pump def.

but wouldn't you want something like (0x10 | 
par->device_info->need_chargepump & 0x1 << 2) & 0x14 to follow your 
previous styles?

Only bit 2 determines the state of the charge-pump. And I guess it 
should be safe to use on the other chips as well. My 1309 doesn't seem 
to have a problem with it, I'm working a lot on this display so it will 
be tested thoroughly in the next few weeks.

>
>   	/* Switch to horizontal addressing mode */
>   	ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_ADDRESS_MODE);
> @@ -393,6 +390,7 @@ static int ssd1307fb_ssd1306_init(struct ssd1307fb_par *par)
>   	if (ret < 0)
>   		return ret;
>
<snip>
>
> -static struct ssd1307fb_ops ssd1307fb_ssd1306_ops = {
> -	.init	= ssd1307fb_ssd1306_init,
> +static struct ssd1307fb_deviceinfo ssd1307fb_ssd1306_deviceinfo = {
> +	.default_vcomh = 0x20,
> +	.default_dclk_div = 0,
> +	.default_dclk_frq = 8,
> +	.need_pwm = 0,
> +	.need_chargepump = 1,
> +};
This device info struct, is this really always fixed data? We use a 
ssd1309 with a MI12864MO i think and the combination of these two parts 
defines atleast the vcomh I would imagine? There are only a very limited 
number of consumers of this driver so for now it won't make much of a 
difference, just mentioning it as it is a configurable so it may matter 
depending on the physical display.
> +
> +static struct ssd1307fb_deviceinfo ssd1307fb_ssd1307_deviceinfo = {
> +	.default_vcomh = 0x20,
> +	.default_dclk_div = 1,
> +	.default_dclk_frq = 12,
> +	.need_pwm = 1,
> +	.need_chargepump = 0,
>   };
>
>   static const struct of_device_id ssd1307fb_of_match[] = {
>   	{
>   		.compatible = "solomon,ssd1306fb-i2c",
> -		.data = (void *)&ssd1307fb_ssd1306_ops,
> +		.data = (void *)&ssd1307fb_ssd1306_deviceinfo,
>   	},
>   	{
>   		.compatible = "solomon,ssd1307fb-i2c",
> -		.data = (void *)&ssd1307fb_ssd1307_ops,
> +		.data = (void *)&ssd1307fb_ssd1307_deviceinfo,
>   	},
>   	{},
>   };
> @@ -468,8 +479,8 @@ static int ssd1307fb_probe(struct i2c_client *client,
>   	par->info = info;
>   	par->client = client;
>
> -	par->ops = (struct ssd1307fb_ops *)of_match_device(ssd1307fb_of_match,
> -							   &client->dev)->data;
> +	par->device_info = (struct ssd1307fb_deviceinfo *)of_match_device(
> +			ssd1307fb_of_match, &client->dev)->data;
>
>   	par->reset = of_get_named_gpio(client->dev.of_node,
>   					 "reset-gpios", 0);
> @@ -487,6 +498,27 @@ static int ssd1307fb_probe(struct i2c_client *client,
>   	if (of_property_read_u32(node, "solomon,page-offset", &par->page_offset))
>   		par->page_offset = 1;
While your re-doing the whole driver, why use a default page_offset of 
1? 0 makes far more sense (its the default on my board also) and 
logically, we'd start counting at 0 as programmers ;) Also, the 
datasheet uses 0 as a default preset.

>
> +	if (of_property_read_u32(node, "solomon,com-offset", &par->com_offset))
> +		par->com_offset = 0;
> +
> +	if (of_property_read_u32(node, "solomon,prechargep1", &par->prechargep1))
> +		par->prechargep1 = 2;
> +
> +	if (of_property_read_u32(node, "solomon,prechargep2", &par->prechargep2))
> +		par->prechargep2 = 0;
Why set the default to 0 here? The datasheet sets it to 0x2 by default 
for example.
> +
> +	par->seg_remap = !of_property_read_bool(node, "solomon,segment-no-remap");
> +	par->com_seq = of_property_read_bool(node, "solomon,com-sequential");
all the other parameters are somewhat abbreviated, or the property name 
matches the variable name. I'd just abbreviate it to com-seq clear and 
short.


Overal, the driver works and can have a Tested-by: Olliver Schinagl 
<o.schinagl@ultimaker.com> from me (for the 1309 which I'll submit very 
soon.

Olliver

P.S. Do you have a link for your display? I'm curious as to how it looks.

  parent reply	other threads:[~2015-03-25 15:49 UTC|newest]

Thread overview: 276+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-06 22:28 [PATCH 0/8] Cleanup and add support for SSD1305 niederp
2015-02-06 22:28 ` niederp
2015-02-06 22:28 ` [PATCH 1/8] Documentation: dts: add missing Solomon Systech vendor prefix niederp
2015-02-06 22:28   ` niederp
2015-02-06 22:28 ` [PATCH 2/8] fbdev: ssd1307fb: Unify init code and make controller configurable from device tree niederp
2015-02-06 22:28   ` niederp
2015-02-07 10:42   ` Maxime Ripard
2015-02-07 10:42     ` Maxime Ripard
2015-02-07 14:59     ` Thomas Niederprüm
2015-02-07 14:59       ` Thomas Niederprüm
2015-02-07 15:19       ` Noralf Trønnes
2015-02-07 15:19         ` Noralf Trønnes
2015-02-09 10:37         ` Thomas Niederprüm
2015-02-09 10:37           ` Thomas Niederprüm
2015-02-12 16:58         ` Maxime Ripard
2015-02-12 16:58           ` Maxime Ripard
2015-02-12 16:41       ` Maxime Ripard
2015-02-12 16:41         ` Maxime Ripard
2015-02-14 16:12         ` Thomas Niederprüm
2015-02-14 16:12           ` Thomas Niederprüm
2015-02-23  9:43           ` Maxime Ripard
2015-02-23  9:43             ` Maxime Ripard
2015-02-06 22:28 ` [PATCH 3/8] fbdev: ssd1307fb: Add support for SSD1305 niederp
2015-02-06 22:28   ` niederp
2015-02-06 22:28 ` [PATCH 4/8] fbdev: ssd1307fb: Use vmalloc to allocate video memory niederp
2015-02-06 22:28   ` niederp
2015-02-07 11:18   ` Maxime Ripard
2015-02-07 11:18     ` Maxime Ripard
2015-02-07 15:35     ` Thomas Niederprüm
2015-02-07 15:35       ` Thomas Niederprüm
2015-02-12 15:11       ` Maxime Ripard
2015-02-12 15:11         ` Maxime Ripard
2015-02-14 14:22         ` Thomas Niederprüm
2015-02-14 14:22           ` Thomas Niederprüm
2015-02-14 15:36           ` Maxime Ripard
2015-02-14 15:36             ` Maxime Ripard
2015-03-10 11:28           ` Tomi Valkeinen
2015-03-10 11:28             ` Tomi Valkeinen
2015-03-13 21:31             ` Thomas Niederprüm
2015-03-13 21:31               ` Thomas Niederprüm
2015-03-14 22:02               ` Geert Uytterhoeven
2015-03-14 22:02                 ` Geert Uytterhoeven
2015-03-20 11:37                 ` Tomi Valkeinen
2015-03-20 11:37                   ` Tomi Valkeinen
2015-03-20 12:12                   ` Geert Uytterhoeven
2015-03-20 12:12                     ` Geert Uytterhoeven
2015-03-20 14:47                   ` Maxime Ripard
2015-03-20 14:47                     ` Maxime Ripard
2015-03-20 15:24                     ` Geert Uytterhoeven
2015-03-20 15:24                       ` Geert Uytterhoeven
2015-03-20 20:27                       ` Thomas Niederprüm
2015-03-20 20:27                         ` Thomas Niederprüm
2015-03-20 15:25                     ` Tomi Valkeinen
2015-03-20 15:25                       ` Tomi Valkeinen
2015-03-20 20:36                       ` Thomas Niederprüm
2015-03-20 20:36                         ` Thomas Niederprüm
2015-02-06 22:28 ` [PATCH 5/8] fbdev: ssd1307fb: Add module parameter bitsperpixel niederp
2015-02-06 22:28   ` niederp
2015-02-07 11:20   ` Maxime Ripard
2015-02-07 11:20     ` Maxime Ripard
2015-02-07 16:05     ` Thomas Niederprüm
2015-02-07 16:05       ` Thomas Niederprüm
2015-02-14 15:54       ` Maxime Ripard
2015-02-14 15:54         ` Maxime Ripard
2015-03-10 10:45         ` Tomi Valkeinen
2015-03-10 10:45           ` Tomi Valkeinen
2015-03-13 19:25           ` Thomas Niederprüm
2015-03-13 19:25             ` Thomas Niederprüm
2015-03-25 10:56           ` Olliver Schinagl
2015-03-25 10:56             ` Olliver Schinagl
2015-03-25 16:02             ` Maxime Ripard
2015-03-25 16:02               ` Maxime Ripard
2015-02-06 22:28 ` [PATCH 6/8] fbdev: ssd1307fb: Add module parameter to set update delay of the deffered io niederp
2015-02-06 22:28   ` niederp
2015-02-07 11:26   ` Maxime Ripard
2015-02-07 11:26     ` Maxime Ripard
2015-02-07 16:12     ` Thomas Niederprüm
2015-02-07 16:12       ` Thomas Niederprüm
2015-02-09  9:03       ` Maxime Ripard
2015-02-09  9:03         ` Maxime Ripard
2015-02-06 22:28 ` [PATCH 7/8] fbdev: ssd1307fb: Add sysfs handles to expose contrast and dim setting to userspace niederp
2015-02-06 22:28   ` niederp
2015-02-07 11:43   ` Maxime Ripard
2015-02-07 11:43     ` Maxime Ripard
2015-02-07 16:42     ` Thomas Niederprüm
2015-02-07 16:42       ` Thomas Niederprüm
2015-02-09  8:52       ` Maxime Ripard
2015-02-09  8:52         ` Maxime Ripard
2015-03-10 10:49         ` Tomi Valkeinen
2015-03-10 10:49           ` Tomi Valkeinen
2015-03-13 19:21           ` Thomas Niederprüm
2015-03-13 19:21             ` Thomas Niederprüm
2015-02-06 22:28 ` [PATCH 8/8] fbdev: ssd1307fb: Turn off display on driver unload niederp
2015-02-06 22:28   ` niederp
2015-02-07 11:45   ` Maxime Ripard
2015-02-07 11:45     ` Maxime Ripard
2015-02-07 16:49     ` Thomas Niederprüm
2015-02-07 16:49       ` Thomas Niederprüm
2015-03-01 22:27 ` [PATCHv2 00/10] fbdev: ssd1307fb: Cleanup and add support for SSD1305 Thomas Niederprüm
2015-03-01 22:27   ` Thomas Niederprüm
2015-03-01 22:27   ` [PATCHv2 01/10] fbdev: ssd1307fb: fix memory address smem_start Thomas Niederprüm
2015-03-01 22:27     ` Thomas Niederprüm
2015-03-03  7:17     ` Maxime Ripard
2015-03-03  7:17       ` Maxime Ripard
2015-03-01 22:27   ` [PATCHv2 02/10] fbdev: ssd1307fb: Use vmalloc to allocate video memory Thomas Niederprüm
2015-03-01 22:27     ` Thomas Niederprüm
2015-03-03  8:52     ` Maxime Ripard
2015-03-03  8:52       ` Maxime Ripard
2015-03-03 19:04       ` Thomas Niederprüm
2015-03-03 19:04         ` Thomas Niederprüm
2015-03-01 22:27   ` [PATCHv2 03/10] Documentation: dts: add missing Solomon Systech vendor prefix Thomas Niederprüm
2015-03-01 22:27     ` Thomas Niederprüm
2015-03-01 22:27   ` [PATCHv2 04/10] fbdev: ssd1307fb: Unify init code and obtain hw specific bits from DT Thomas Niederprüm
2015-03-01 22:27     ` Thomas Niederprüm
2015-03-05 21:49     ` Maxime Ripard
2015-03-05 21:49       ` Maxime Ripard
2015-03-01 22:27   ` [PATCHv2 05/10] fbdev: ssd1307fb: fix in tree users of ssd1306 Thomas Niederprüm
2015-03-01 22:27     ` Thomas Niederprüm
2015-03-03  9:31     ` Maxime Ripard
2015-03-03  9:31       ` Maxime Ripard
2015-03-01 22:27   ` [PATCHv2 06/10] fbdev: ssd1307fb: Add support for SSD1305 Thomas Niederprüm
2015-03-01 22:27     ` Thomas Niederprüm
2015-03-01 22:28   ` [PATCHv2 07/10] fbdev: ssd1307fb: Add module parameter to set refresh rate of the display Thomas Niederprüm
2015-03-01 22:28     ` Thomas Niederprüm
2015-03-05 22:12     ` Maxime Ripard
2015-03-05 22:12       ` Maxime Ripard
2015-03-01 22:28   ` [PATCHv2 08/10] fbdev: ssd1307fb: Add module parameter bitsperpixel Thomas Niederprüm
2015-03-01 22:28     ` Thomas Niederprüm
2015-03-01 22:28   ` [PATCHv2 09/10] fbdev: ssd1307fb: Add sysfs handles to expose contrast and dim setting to userspace Thomas Niederprüm
2015-03-01 22:28     ` Thomas Niederprüm
2015-03-01 22:28   ` [PATCHv2 10/10] fbdev: ssd1307fb: Turn off display on driver unload Thomas Niederprüm
2015-03-01 22:28     ` Thomas Niederprüm
2015-03-03  9:40     ` Maxime Ripard
2015-03-03  9:40       ` Maxime Ripard
2015-03-09 22:22 ` [PATCHv3 00/10] fbdev: ssd1307fb: Cleanup and add support for SSD1305 Thomas Niederprüm
2015-03-09 22:22   ` Thomas Niederprüm
2015-03-09 22:22   ` [PATCHv3 01/10] fbdev: ssd1307fb: fix memory address smem_start Thomas Niederprüm
2015-03-09 22:22     ` Thomas Niederprüm
2015-03-09 22:22   ` [PATCHv3 02/10] fbdev: ssd1307fb: Use vmalloc to allocate video memory Thomas Niederprüm
2015-03-09 22:22     ` Thomas Niederprüm
2015-03-09 22:22   ` [PATCHv3 03/10] of: Add Solomon Systech vendor prefix Thomas Niederprüm
2015-03-09 22:22     ` Thomas Niederprüm
2015-03-09 22:22   ` [PATCHv3 04/10] fbdev: ssd1307fb: Unify init code and obtain hw specific bits from DT Thomas Niederprüm
2015-03-09 22:22     ` Thomas Niederprüm
2015-03-09 22:22   ` [PATCHv3 05/10] ARM: mxs: fix in tree users of ssd1306 Thomas Niederprüm
2015-03-09 22:22     ` Thomas Niederprüm
2015-03-09 22:22   ` [PATCHv3 06/10] fbdev: ssd1307fb: Add support for SSD1305 Thomas Niederprüm
2015-03-09 22:22     ` Thomas Niederprüm
2015-03-09 22:22   ` [PATCHv3 07/10] fbdev: ssd1307fb: Add module parameter to set refresh rate of the display Thomas Niederprüm
2015-03-09 22:22     ` Thomas Niederprüm
2015-03-09 22:22   ` [PATCHv3 08/10] fbdev: ssd1307fb: Add module parameter bitsperpixel Thomas Niederprüm
2015-03-09 22:22     ` Thomas Niederprüm
2015-03-09 22:22   ` [PATCHv3 09/10] fbdev: ssd1307fb: Add sysfs handles to expose contrast and dim setting to userspace Thomas Niederprüm
2015-03-09 22:22     ` Thomas Niederprüm
2015-03-09 22:22   ` [PATCHv3 10/10] fbdev: ssd1307fb: Turn off display on driver unload Thomas Niederprüm
2015-03-09 22:22     ` Thomas Niederprüm
2015-03-16 17:11 ` [PATCHv4 00/10] Cleanup and add support for SSD1305 Thomas Niederprüm
2015-03-16 17:11   ` Thomas Niederprüm
2015-03-16 17:11   ` [PATCHv4 01/10] fbdev: ssd1307fb: fix memory address smem_start Thomas Niederprüm
2015-03-16 17:11     ` Thomas Niederprüm
2015-03-16 17:11   ` [PATCHv4 02/10] fbdev: ssd1307fb: Allocate page aligned video memory Thomas Niederprüm
2015-03-16 17:11     ` Thomas Niederprüm
2015-03-18 17:38     ` Maxime Ripard
2015-03-18 17:38       ` Maxime Ripard
2015-03-16 17:11   ` [PATCHv4 03/10] of: Add Solomon Systech vendor prefix Thomas Niederprüm
2015-03-16 17:11     ` Thomas Niederprüm
2015-03-16 17:11   ` [PATCHv4 04/10] fbdev: ssd1307fb: Unify init code and obtain hw specific bits from DT Thomas Niederprüm
2015-03-16 17:11     ` Thomas Niederprüm
2015-03-18 19:27     ` Maxime Ripard
2015-03-18 19:27       ` Maxime Ripard
2015-03-20 21:12       ` Thomas Niederprüm
2015-03-20 21:12         ` Thomas Niederprüm
2015-03-24 15:24         ` Maxime Ripard
2015-03-24 15:24           ` Maxime Ripard
2015-03-16 17:11   ` [PATCHv4 05/10] ARM: mxs: fix in tree users of ssd1306 Thomas Niederprüm
2015-03-16 17:11     ` Thomas Niederprüm
2015-03-16 17:11   ` [PATCHv4 06/10] fbdev: ssd1307fb: Add support for SSD1305 Thomas Niederprüm
2015-03-16 17:11     ` Thomas Niederprüm
2015-03-16 17:11   ` [PATCHv4 07/10] fbdev: ssd1307fb: Add a module parameter to set the refresh rate Thomas Niederprüm
2015-03-16 17:11     ` Thomas Niederprüm
2015-03-19 13:18     ` Maxime Ripard
2015-03-19 13:18       ` Maxime Ripard
2015-03-20 21:16       ` Thomas Niederprüm
2015-03-20 21:16         ` Thomas Niederprüm
2015-03-16 17:11   ` [PATCHv4 08/10] fbdev: ssd1307fb: Turn off display on driver unload Thomas Niederprüm
2015-03-16 17:11     ` Thomas Niederprüm
2015-03-16 17:11   ` [PATCHv4 09/10] fbdev: ssd1307fb: add backlight controls for setting the contrast Thomas Niederprüm
2015-03-16 17:11     ` Thomas Niederprüm
2015-03-19 13:22     ` Maxime Ripard
2015-03-19 13:22       ` Maxime Ripard
2015-03-16 17:11   ` [PATCHv4 10/10] fbdev: ssd1307fb: Add blank mode Thomas Niederprüm
2015-03-16 17:11     ` Thomas Niederprüm
2015-03-24 21:23 ` [PATCHv5 00/11] Cleanup and add support for SSD1305 Thomas Niederprüm
2015-03-24 21:23   ` Thomas Niederprüm
2015-03-24 21:23   ` [PATCHv5 01/11] fbdev: ssd1307fb: fix memory address smem_start Thomas Niederprüm
2015-03-24 21:23     ` Thomas Niederprüm
2015-03-24 21:23   ` [PATCHv5 02/11] fbdev: ssd1307fb: Allocate page aligned video memory Thomas Niederprüm
2015-03-24 21:23     ` Thomas Niederprüm
2015-03-24 21:23   ` [PATCHv5 03/11] of: Add Solomon Systech vendor prefix Thomas Niederprüm
2015-03-24 21:23     ` Thomas Niederprüm
2015-03-24 21:23   ` [PATCHv5 04/11] fbdev: ssd1307fb: Unify init code and obtain hw specific bits from DT Thomas Niederprüm
2015-03-24 21:23     ` Thomas Niederprüm
2015-03-24 22:14     ` Maxime Ripard
2015-03-24 22:14       ` Maxime Ripard
2015-03-25 20:03       ` Thomas Niederprüm
2015-03-25 20:03         ` Thomas Niederprüm
2015-03-25 15:49     ` Olliver Schinagl [this message]
2015-03-25 15:49       ` Olliver Schinagl
2015-03-25 22:14       ` Thomas Niederprüm
2015-03-25 22:14         ` Thomas Niederprüm
2015-03-24 21:23   ` [PATCHv5 05/11] ARM: mxs: fix in tree users of ssd1306 Thomas Niederprüm
2015-03-24 21:23     ` Thomas Niederprüm
2015-03-24 21:23   ` [PATCHv5 06/11] fbdev: ssd1307fb: Add support for SSD1305 Thomas Niederprüm
2015-03-24 21:23     ` Thomas Niederprüm
2015-03-24 21:23   ` [PATCHv5 07/11] fbdev: ssd1307fb: Add a module parameter to set the refresh rate Thomas Niederprüm
2015-03-24 21:23     ` Thomas Niederprüm
2015-03-24 21:54     ` Maxime Ripard
2015-03-24 21:54       ` Maxime Ripard
2015-03-24 21:23   ` [PATCHv5 08/11] fbdev: ssd1307fb: Turn off display on driver unload Thomas Niederprüm
2015-03-24 21:23     ` Thomas Niederprüm
2015-03-24 21:23   ` [PATCHv5 09/11] fbdev: ssd1307fb: Add module parameter to set the initial contrast Thomas Niederprüm
2015-03-24 21:23     ` Thomas Niederprüm
2015-03-24 22:16     ` Maxime Ripard
2015-03-24 22:16       ` Maxime Ripard
2015-03-25 20:10       ` Thomas Niederprüm
2015-03-25 20:10         ` Thomas Niederprüm
2015-03-24 21:23   ` [PATCHv5 10/11] fbdev: ssd1307fb: add backlight controls for setting the contrast Thomas Niederprüm
2015-03-24 21:23     ` Thomas Niederprüm
2015-03-24 21:23   ` [PATCHv5 11/11] fbdev: ssd1307fb: Add blank mode Thomas Niederprüm
2015-03-24 21:23     ` Thomas Niederprüm
2015-03-25 15:50     ` Olliver Schinagl
2015-03-25 15:50       ` Olliver Schinagl
2015-03-25 20:33       ` Thomas Niederprüm
2015-03-25 20:33         ` Thomas Niederprüm
2015-03-25 22:00       ` Maxime Ripard
2015-03-25 22:00         ` Maxime Ripard
2015-03-31 18:27 ` [PATCHv6 00/10] Cleanup and add support for SSD1305 Thomas Niederprüm
2015-03-31 18:27   ` Thomas Niederprüm
2015-03-31 18:27   ` [PATCHv6 01/10] fbdev: ssd1307fb: fix memory address smem_start Thomas Niederprüm
2015-03-31 18:27     ` Thomas Niederprüm
2015-03-31 18:27   ` [PATCHv6 02/10] fbdev: ssd1307fb: Allocate page aligned video memory Thomas Niederprüm
2015-03-31 18:27     ` Thomas Niederprüm
2015-03-31 18:27   ` [PATCHv6 03/10] of: Add Solomon Systech vendor prefix Thomas Niederprüm
2015-03-31 18:27     ` Thomas Niederprüm
2015-04-01 20:33     ` Rob Herring
2015-04-01 20:33       ` Rob Herring
2015-03-31 18:27   ` [PATCHv6 04/10] fbdev: ssd1307fb: Unify init code and obtain hw specific bits from DT Thomas Niederprüm
2015-03-31 18:27     ` Thomas Niederprüm
2015-04-01 16:00     ` Maxime Ripard
2015-04-01 16:00       ` Maxime Ripard
2015-03-31 18:27   ` [PATCHv6 05/10] ARM: mxs: fix in tree users of ssd1306 Thomas Niederprüm
2015-03-31 18:27     ` Thomas Niederprüm
2015-05-07 10:55     ` Tomi Valkeinen
2015-05-07 10:55       ` Tomi Valkeinen
2015-05-07 11:28       ` Shawn Guo
2015-05-07 11:28         ` Shawn Guo
2015-05-08 13:31         ` Maxime Ripard
2015-05-08 13:31           ` Maxime Ripard
2015-05-26  7:08           ` Tomi Valkeinen
2015-05-26  7:08             ` Tomi Valkeinen
2015-05-27  3:03             ` Shawn Guo
2015-05-27  3:03               ` Shawn Guo
2015-03-31 18:27   ` [PATCHv6 06/10] fbdev: ssd1307fb: Add support for SSD1305 Thomas Niederprüm
2015-03-31 18:27     ` Thomas Niederprüm
2015-04-01 16:01     ` Maxime Ripard
2015-04-01 16:01       ` Maxime Ripard
2015-03-31 18:27   ` [PATCHv6 07/10] fbdev: ssd1307fb: Add a module parameter to set the refresh rate Thomas Niederprüm
2015-03-31 18:27     ` Thomas Niederprüm
2015-03-31 18:27   ` [PATCHv6 08/10] fbdev: ssd1307fb: Turn off display on driver unload Thomas Niederprüm
2015-03-31 18:27     ` Thomas Niederprüm
2015-03-31 18:27   ` [PATCHv6 09/10] fbdev: ssd1307fb: add backlight controls for setting the contrast Thomas Niederprüm
2015-03-31 18:27     ` Thomas Niederprüm
2015-03-31 18:27   ` [PATCHv6 10/10] fbdev: ssd1307fb: Add blank mode Thomas Niederprüm
2015-03-31 18:27     ` Thomas Niederprüm
2015-05-27 10:15   ` [PATCHv6 00/10] Cleanup and add support for SSD1305 Tomi Valkeinen
2015-05-27 10:15     ` Tomi Valkeinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5512D91B.9090709@schinagl.nl \
    --to=oliver@schinagl.nl \
    --cc=kernel@pengutronix.de \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maxime.ripard@free-electrons.com \
    --cc=niederp@physik.uni-kl.de \
    --cc=plagnioj@jcrosoft.com \
    --cc=robh+dt@kernel.org \
    --cc=shawn.guo@linaro.org \
    --cc=tomi.valkeinen@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.