From: Luc Verhaegen <libv@skynet.be> To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 4/4] simplefb: add clock handling code Date: Wed, 13 Aug 2014 07:17:19 +0000 [thread overview] Message-ID: <1407914239-12054-5-git-send-email-libv@skynet.be> (raw) In-Reply-To: <1407914239-12054-1-git-send-email-libv@skynet.be> This claims and enables clocks listed in the simple framebuffer dt node. This is needed so that the display engine, in case the required clocks are known by the kernel code and are described in the dt, will remain properly enabled. Signed-off-by: Luc Verhaegen <libv@skynet.be> --- drivers/video/fbdev/simplefb.c | 103 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 101 insertions(+), 2 deletions(-) diff --git a/drivers/video/fbdev/simplefb.c b/drivers/video/fbdev/simplefb.c index 74c4b2a..481dbfd 100644 --- a/drivers/video/fbdev/simplefb.c +++ b/drivers/video/fbdev/simplefb.c @@ -26,6 +26,7 @@ #include <linux/module.h> #include <linux/platform_data/simplefb.h> #include <linux/platform_device.h> +#include <linux/clk-provider.h> static struct fb_fix_screeninfo simplefb_fix = { .id = "simple", @@ -191,8 +192,101 @@ static int simplefb_parse_pd(struct platform_device *pdev, return 0; } +/* + * Clock handling code. + * + * Here we handle the clocks property of our "simple-framebuffer" dt node. + * This is necessary so that we can make sure that any clocks needed by + * the display engine that the bootloader set up for us (and for which it + * provided a simplefb dt node), stay up, for the life of the simplefb + * driver. + * + * When the driver unloads, we cleanly disable, and then release the clocks. + */ +struct simplefb_clock { + struct list_head list; + struct clk *clock; +}; + +/* + * We only complain about errors here, no action is taken as the most likely + * error can only happen due to a mismatch between the bootloader which set + * up simplefb, and the clock definitions in the device tree. Chances are + * that there are no adverse effects, and if there are, a clean teardown of + * the fb probe will not help us much either. So just complain and carry on, + * and hope that the user actually gets a working fb at the end of things. + */ +static void +simplefb_clocks_init(struct platform_device *pdev, struct list_head *list) +{ + struct device_node *np = pdev->dev.of_node; + int clock_count, i; + + INIT_LIST_HEAD(list); + + if (dev_get_platdata(&pdev->dev) || !np) + return; + + clock_count = of_clk_get_parent_count(np); + for (i = 0; i < clock_count; i++) { + struct simplefb_clock *entry; + struct clk *clock = of_clk_get(np, i); + int ret; + + if (IS_ERR(clock)) { + dev_err(&pdev->dev, "%s: clock %d not found: %ld\n", + __func__, i, PTR_ERR(clock)); + continue; + } + + ret = clk_prepare_enable(clock); + if (ret) { + dev_err(&pdev->dev, + "%s: failed to enable clock %d: %d\n", + __func__, i, ret); + clk_put(clock); + continue; + } + + entry = kzalloc(sizeof(struct simplefb_clock), GFP_KERNEL); + if (!entry) { + dev_err(&pdev->dev, + "%s: failed to alloc clock %d list entry.\n", + __func__, i); + clk_disable_unprepare(clock); + clk_put(clock); + continue; + } + + entry->clock = clock; + /* + * add to the front of the list, so we disable clocks in the + * correct order. + */ + list_add(&entry->list, list); + } +} + +static void +simplefb_clocks_destroy(struct list_head *list) +{ + struct list_head *pos, *n; + + list_for_each_safe(pos, n, list) { + struct simplefb_clock *entry + container_of(pos, struct simplefb_clock, list); + + list_del(&entry->list); + + clk_disable_unprepare(entry->clock); + clk_put(entry->clock); + kfree(entry); + } +} + struct simplefb_par { u32 palette[PSEUDO_PALETTE_SIZE]; + struct list_head clock_list[1]; }; static int simplefb_probe(struct platform_device *pdev) @@ -265,6 +359,8 @@ static int simplefb_probe(struct platform_device *pdev) } info->pseudo_palette = (void *) par->palette; + simplefb_clocks_init(pdev, par->clock_list); + dev_info(&pdev->dev, "framebuffer at 0x%lx, 0x%x bytes, mapped to 0x%p\n", info->fix.smem_start, info->fix.smem_len, info->screen_base); @@ -276,14 +372,15 @@ static int simplefb_probe(struct platform_device *pdev) ret = register_framebuffer(info); if (ret < 0) { dev_err(&pdev->dev, "Unable to register simplefb: %d\n", ret); - goto error_unmap; + goto error_clocks; } dev_info(&pdev->dev, "fb%d: simplefb registered!\n", info->node); return 0; - error_unmap: + error_clocks: + simplefb_clocks_destroy(par->clock_list); iounmap(info->screen_base); error_fb_release: @@ -299,8 +396,10 @@ static int simplefb_probe(struct platform_device *pdev) static int simplefb_remove(struct platform_device *pdev) { struct fb_info *info = platform_get_drvdata(pdev); + struct simplefb_par *par = info->par; unregister_framebuffer(info); + simplefb_clocks_destroy(par->clock_list); framebuffer_release(info); if (!dev_get_platdata(&pdev->dev) && pdev->dev.of_node) simplefb_dt_disable(pdev); -- 1.7.7
WARNING: multiple messages have this Message-ID (diff)
From: libv@skynet.be (Luc Verhaegen) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 4/4] simplefb: add clock handling code Date: Wed, 13 Aug 2014 09:17:19 +0200 [thread overview] Message-ID: <1407914239-12054-5-git-send-email-libv@skynet.be> (raw) In-Reply-To: <1407914239-12054-1-git-send-email-libv@skynet.be> This claims and enables clocks listed in the simple framebuffer dt node. This is needed so that the display engine, in case the required clocks are known by the kernel code and are described in the dt, will remain properly enabled. Signed-off-by: Luc Verhaegen <libv@skynet.be> --- drivers/video/fbdev/simplefb.c | 103 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 101 insertions(+), 2 deletions(-) diff --git a/drivers/video/fbdev/simplefb.c b/drivers/video/fbdev/simplefb.c index 74c4b2a..481dbfd 100644 --- a/drivers/video/fbdev/simplefb.c +++ b/drivers/video/fbdev/simplefb.c @@ -26,6 +26,7 @@ #include <linux/module.h> #include <linux/platform_data/simplefb.h> #include <linux/platform_device.h> +#include <linux/clk-provider.h> static struct fb_fix_screeninfo simplefb_fix = { .id = "simple", @@ -191,8 +192,101 @@ static int simplefb_parse_pd(struct platform_device *pdev, return 0; } +/* + * Clock handling code. + * + * Here we handle the clocks property of our "simple-framebuffer" dt node. + * This is necessary so that we can make sure that any clocks needed by + * the display engine that the bootloader set up for us (and for which it + * provided a simplefb dt node), stay up, for the life of the simplefb + * driver. + * + * When the driver unloads, we cleanly disable, and then release the clocks. + */ +struct simplefb_clock { + struct list_head list; + struct clk *clock; +}; + +/* + * We only complain about errors here, no action is taken as the most likely + * error can only happen due to a mismatch between the bootloader which set + * up simplefb, and the clock definitions in the device tree. Chances are + * that there are no adverse effects, and if there are, a clean teardown of + * the fb probe will not help us much either. So just complain and carry on, + * and hope that the user actually gets a working fb at the end of things. + */ +static void +simplefb_clocks_init(struct platform_device *pdev, struct list_head *list) +{ + struct device_node *np = pdev->dev.of_node; + int clock_count, i; + + INIT_LIST_HEAD(list); + + if (dev_get_platdata(&pdev->dev) || !np) + return; + + clock_count = of_clk_get_parent_count(np); + for (i = 0; i < clock_count; i++) { + struct simplefb_clock *entry; + struct clk *clock = of_clk_get(np, i); + int ret; + + if (IS_ERR(clock)) { + dev_err(&pdev->dev, "%s: clock %d not found: %ld\n", + __func__, i, PTR_ERR(clock)); + continue; + } + + ret = clk_prepare_enable(clock); + if (ret) { + dev_err(&pdev->dev, + "%s: failed to enable clock %d: %d\n", + __func__, i, ret); + clk_put(clock); + continue; + } + + entry = kzalloc(sizeof(struct simplefb_clock), GFP_KERNEL); + if (!entry) { + dev_err(&pdev->dev, + "%s: failed to alloc clock %d list entry.\n", + __func__, i); + clk_disable_unprepare(clock); + clk_put(clock); + continue; + } + + entry->clock = clock; + /* + * add to the front of the list, so we disable clocks in the + * correct order. + */ + list_add(&entry->list, list); + } +} + +static void +simplefb_clocks_destroy(struct list_head *list) +{ + struct list_head *pos, *n; + + list_for_each_safe(pos, n, list) { + struct simplefb_clock *entry = + container_of(pos, struct simplefb_clock, list); + + list_del(&entry->list); + + clk_disable_unprepare(entry->clock); + clk_put(entry->clock); + kfree(entry); + } +} + struct simplefb_par { u32 palette[PSEUDO_PALETTE_SIZE]; + struct list_head clock_list[1]; }; static int simplefb_probe(struct platform_device *pdev) @@ -265,6 +359,8 @@ static int simplefb_probe(struct platform_device *pdev) } info->pseudo_palette = (void *) par->palette; + simplefb_clocks_init(pdev, par->clock_list); + dev_info(&pdev->dev, "framebuffer at 0x%lx, 0x%x bytes, mapped to 0x%p\n", info->fix.smem_start, info->fix.smem_len, info->screen_base); @@ -276,14 +372,15 @@ static int simplefb_probe(struct platform_device *pdev) ret = register_framebuffer(info); if (ret < 0) { dev_err(&pdev->dev, "Unable to register simplefb: %d\n", ret); - goto error_unmap; + goto error_clocks; } dev_info(&pdev->dev, "fb%d: simplefb registered!\n", info->node); return 0; - error_unmap: + error_clocks: + simplefb_clocks_destroy(par->clock_list); iounmap(info->screen_base); error_fb_release: @@ -299,8 +396,10 @@ static int simplefb_probe(struct platform_device *pdev) static int simplefb_remove(struct platform_device *pdev) { struct fb_info *info = platform_get_drvdata(pdev); + struct simplefb_par *par = info->par; unregister_framebuffer(info); + simplefb_clocks_destroy(par->clock_list); framebuffer_release(info); if (!dev_get_platdata(&pdev->dev) && pdev->dev.of_node) simplefb_dt_disable(pdev); -- 1.7.7
next prev parent reply other threads:[~2014-08-13 7:17 UTC|newest] Thread overview: 554+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-08-13 7:17 simplefb: add clock handling Luc Verhaegen 2014-08-13 7:17 ` Luc Verhaegen 2014-08-13 7:17 ` [PATCH 1/4] simplefb: formalize pseudo palette handling Luc Verhaegen 2014-08-13 7:17 ` Luc Verhaegen 2014-08-13 7:25 ` David Herrmann 2014-08-13 7:25 ` David Herrmann 2014-08-13 8:46 ` Geert Uytterhoeven 2014-08-13 8:46 ` Geert Uytterhoeven 2014-08-13 8:50 ` David Herrmann 2014-08-13 8:50 ` David Herrmann 2014-08-13 16:45 ` Stephen Warren 2014-08-13 16:45 ` Stephen Warren 2014-08-13 7:17 ` [PATCH 2/4] simplefb: add goto error path to probe Luc Verhaegen 2014-08-13 7:17 ` Luc Verhaegen 2014-08-13 7:27 ` David Herrmann 2014-08-13 7:27 ` David Herrmann 2014-08-14 10:29 ` Luc Verhaegen 2014-08-14 10:29 ` Luc Verhaegen 2014-08-14 10:33 ` David Herrmann 2014-08-14 10:33 ` David Herrmann 2014-08-14 10:42 ` Luc Verhaegen 2014-08-14 10:42 ` Luc Verhaegen 2014-08-13 7:17 ` [PATCH 3/4] simplefb: disable dt node upon remove Luc Verhaegen 2014-08-13 7:17 ` Luc Verhaegen 2014-08-13 8:40 ` Grant Likely 2014-08-13 8:40 ` Grant Likely 2014-08-13 8:49 ` David Herrmann 2014-08-13 8:49 ` David Herrmann 2014-08-13 9:23 ` Grant Likely 2014-08-13 9:23 ` Grant Likely 2014-08-13 9:32 ` David Herrmann 2014-08-13 9:32 ` David Herrmann 2014-08-13 9:45 ` Luc Verhaegen 2014-08-13 9:45 ` Luc Verhaegen 2014-08-13 10:19 ` [linux-sunxi] " Luc Verhaegen 2014-08-13 10:19 ` Luc Verhaegen 2014-08-13 12:54 ` jonsmirl 2014-08-13 12:54 ` jonsmirl at gmail.com 2014-08-13 19:14 ` Grant Likely 2014-08-13 19:14 ` Grant Likely 2014-08-13 19:25 ` Luc Verhaegen 2014-08-13 19:25 ` Luc Verhaegen 2014-08-13 19:58 ` Stephen Warren 2014-08-13 19:58 ` Stephen Warren 2014-08-13 20:01 ` Luc Verhaegen 2014-08-13 20:01 ` Luc Verhaegen 2014-08-13 20:00 ` Grant Likely 2014-08-13 20:00 ` Grant Likely 2014-08-13 20:19 ` Luc Verhaegen 2014-08-13 20:19 ` Luc Verhaegen 2014-08-13 20:41 ` [linux-sunxi] " jonsmirl 2014-08-13 20:41 ` jonsmirl at gmail.com 2014-08-14 10:15 ` Grant Likely 2014-08-14 10:15 ` Grant Likely 2014-08-14 12:07 ` jonsmirl 2014-08-14 12:07 ` jonsmirl at gmail.com 2014-08-15 0:45 ` Henrik Nordström 2014-08-15 0:45 ` Henrik Nordström 2014-08-15 1:27 ` jonsmirl 2014-08-15 1:27 ` jonsmirl at gmail.com 2014-08-15 6:43 ` Maxime Ripard 2014-08-15 6:43 ` Maxime Ripard 2014-08-15 12:34 ` jonsmirl 2014-08-15 12:34 ` jonsmirl at gmail.com 2014-08-13 16:44 ` Stephen Warren 2014-08-13 16:44 ` Stephen Warren 2014-08-13 17:26 ` [linux-sunxi] " jonsmirl 2014-08-13 17:26 ` jonsmirl at gmail.com 2014-08-13 17:34 ` Stephen Warren 2014-08-13 17:34 ` Stephen Warren 2014-08-13 17:44 ` jonsmirl 2014-08-13 17:44 ` jonsmirl at gmail.com 2014-08-13 7:17 ` Luc Verhaegen [this message] 2014-08-13 7:17 ` [PATCH 4/4] simplefb: add clock handling code Luc Verhaegen 2014-08-13 16:38 ` Stephen Warren 2014-08-13 16:38 ` Stephen Warren 2014-08-13 16:47 ` Luc Verhaegen 2014-08-13 16:47 ` Luc Verhaegen 2014-08-13 17:01 ` Maxime Ripard 2014-08-13 17:01 ` Maxime Ripard 2014-08-14 9:37 ` [linux-sunxi] " Hans de Goede 2014-08-14 9:37 ` Hans de Goede 2014-08-14 10:31 ` [linux-sunxi] " Koen Kooi 2014-08-14 10:31 ` Koen Kooi 2014-08-14 10:57 ` Luc Verhaegen 2014-08-14 10:57 ` Luc Verhaegen 2014-08-14 11:18 ` Hans de Goede 2014-08-14 11:18 ` Hans de Goede 2014-08-14 11:18 ` Hans de Goede 2014-08-14 11:18 ` Hans de Goede 2014-08-25 12:12 ` Thierry Reding 2014-08-25 12:12 ` Thierry Reding 2014-08-25 12:44 ` Maxime Ripard 2014-08-25 12:44 ` Maxime Ripard 2014-08-25 13:39 ` Thierry Reding 2014-08-25 13:39 ` Thierry Reding 2014-08-25 13:47 ` [linux-sunxi] " Hans de Goede 2014-08-25 13:47 ` Hans de Goede 2014-08-25 14:16 ` Thierry Reding 2014-08-25 14:16 ` Thierry Reding 2014-08-25 14:23 ` jonsmirl 2014-08-25 14:23 ` jonsmirl at gmail.com 2014-08-25 14:27 ` Hans de Goede 2014-08-25 14:27 ` Hans de Goede 2014-08-25 15:12 ` Thierry Reding 2014-08-25 15:12 ` Thierry Reding 2014-08-25 15:18 ` Luc Verhaegen 2014-08-25 15:18 ` Luc Verhaegen 2014-08-26 8:40 ` Thierry Reding 2014-08-26 8:40 ` Thierry Reding 2014-08-26 13:22 ` Maxime Ripard 2014-08-26 13:22 ` Maxime Ripard 2014-08-26 13:43 ` Thierry Reding 2014-08-26 13:43 ` Thierry Reding 2014-08-25 15:49 ` jonsmirl 2014-08-25 15:49 ` jonsmirl at gmail.com 2014-08-26 9:02 ` Hans de Goede 2014-08-26 9:02 ` Hans de Goede 2014-08-25 15:01 ` Thierry Reding 2014-08-25 15:01 ` Thierry Reding 2014-08-25 14:23 ` Hans de Goede 2014-08-25 14:23 ` Hans de Goede 2014-08-25 14:53 ` Thierry Reding 2014-08-25 14:53 ` Thierry Reding 2014-08-25 15:07 ` Maxime Ripard 2014-08-25 15:07 ` Maxime Ripard 2014-08-26 8:26 ` Thierry Reding 2014-08-26 8:26 ` Thierry Reding 2014-08-26 9:00 ` Mark Brown 2014-08-26 9:00 ` Mark Brown 2014-08-26 9:18 ` Thierry Reding 2014-08-26 9:18 ` Thierry Reding 2014-08-26 10:06 ` Mark Brown 2014-08-26 10:06 ` Mark Brown 2014-08-26 10:55 ` Thierry Reding 2014-08-26 10:55 ` Thierry Reding 2014-08-26 11:33 ` Mark Brown 2014-08-26 11:33 ` Mark Brown 2014-08-26 18:40 ` Henrik Nordström 2014-08-26 18:40 ` Henrik Nordström 2014-08-27 7:40 ` Mark Brown 2014-08-27 7:40 ` Mark Brown 2014-08-27 8:22 ` Maxime Ripard 2014-08-27 8:22 ` Maxime Ripard 2014-08-27 8:37 ` Geert Uytterhoeven 2014-08-27 8:37 ` Geert Uytterhoeven 2014-08-27 8:55 ` Maxime Ripard 2014-08-27 8:55 ` Maxime Ripard 2014-08-27 9:05 ` Geert Uytterhoeven 2014-08-27 9:05 ` Geert Uytterhoeven 2014-08-27 10:32 ` Maxime Ripard 2014-08-27 10:32 ` Maxime Ripard 2014-08-27 10:07 ` Thierry Reding 2014-08-27 10:07 ` Thierry Reding 2014-08-27 10:26 ` Henrik Nordström 2014-08-27 10:26 ` Henrik Nordström 2014-08-27 12:45 ` Julian Calaby 2014-08-27 12:45 ` Julian Calaby 2014-08-27 13:24 ` Maxime Ripard 2014-08-27 13:24 ` Maxime Ripard 2014-08-25 15:08 ` jonsmirl 2014-08-25 15:08 ` jonsmirl at gmail.com 2014-08-25 14:58 ` Maxime Ripard 2014-08-25 14:58 ` Maxime Ripard 2014-08-25 15:05 ` Thierry Reding 2014-08-25 15:05 ` Thierry Reding 2014-08-25 15:09 ` Luc Verhaegen 2014-08-25 15:09 ` Luc Verhaegen 2014-08-26 7:52 ` Thierry Reding 2014-08-26 7:52 ` Thierry Reding 2014-08-26 12:02 ` Luc Verhaegen 2014-08-26 12:02 ` Luc Verhaegen 2014-08-26 12:21 ` Thierry Reding 2014-08-26 12:21 ` Thierry Reding 2014-08-26 12:33 ` Luc Verhaegen 2014-08-26 12:33 ` Luc Verhaegen 2014-08-26 14:41 ` Thierry Reding 2014-08-26 14:41 ` Thierry Reding 2014-08-25 15:22 ` Maxime Ripard 2014-08-25 15:22 ` Maxime Ripard 2014-08-26 8:04 ` Thierry Reding 2014-08-26 8:04 ` Thierry Reding 2014-08-26 8:45 ` Michal Suchanek 2014-08-26 8:45 ` Michal Suchanek 2014-08-26 13:53 ` Maxime Ripard 2014-08-26 13:53 ` Maxime Ripard 2014-08-26 14:35 ` Thierry Reding 2014-08-26 14:35 ` Thierry Reding 2014-08-26 19:59 ` Hans de Goede 2014-08-26 19:59 ` Hans de Goede 2014-08-27 9:31 ` Thierry Reding 2014-08-27 9:31 ` Thierry Reding 2014-08-27 10:35 ` Hans de Goede 2014-08-27 10:35 ` Hans de Goede 2014-08-27 12:44 ` jonsmirl 2014-08-27 12:44 ` jonsmirl at gmail.com 2014-08-27 12:50 ` Hans de Goede 2014-08-27 12:50 ` Hans de Goede 2014-08-27 12:56 ` jonsmirl 2014-08-27 12:56 ` jonsmirl at gmail.com 2014-08-27 13:05 ` Thierry Reding 2014-08-27 13:05 ` Thierry Reding 2014-08-27 12:56 ` Thierry Reding 2014-08-27 12:56 ` Thierry Reding 2014-08-27 13:44 ` Hans de Goede 2014-08-27 13:44 ` Hans de Goede 2014-08-27 14:16 ` Thierry Reding 2014-08-27 14:16 ` Thierry Reding 2014-08-28 12:15 ` Hans de Goede 2014-08-28 12:15 ` Hans de Goede 2014-08-28 13:22 ` jonsmirl 2014-08-28 13:22 ` jonsmirl at gmail.com 2014-08-28 14:20 ` Geert Uytterhoeven 2014-08-28 14:20 ` Geert Uytterhoeven 2014-08-28 14:33 ` jonsmirl 2014-08-28 14:33 ` jonsmirl at gmail.com 2014-08-28 14:37 ` Geert Uytterhoeven 2014-08-28 14:37 ` Geert Uytterhoeven 2014-08-28 15:11 ` jonsmirl 2014-08-28 15:11 ` jonsmirl at gmail.com 2014-08-28 16:25 ` Michal Suchanek 2014-08-28 16:25 ` Michal Suchanek 2014-08-28 16:34 ` jonsmirl 2014-08-28 16:34 ` jonsmirl at gmail.com 2014-08-28 16:50 ` Luc Verhaegen 2014-08-28 16:50 ` Luc Verhaegen 2014-08-28 20:31 ` Michal Suchanek 2014-08-28 20:31 ` Michal Suchanek 2014-08-29 7:16 ` Thierry Reding 2014-08-29 7:16 ` Thierry Reding 2014-08-29 7:01 ` Thierry Reding 2014-08-29 7:01 ` Thierry Reding 2014-08-29 7:23 ` Hans de Goede 2014-08-29 7:23 ` Hans de Goede 2014-08-29 8:12 ` Thierry Reding 2014-08-29 8:12 ` Thierry Reding 2014-08-29 14:12 ` Maxime Ripard 2014-08-29 14:12 ` Maxime Ripard 2014-08-29 14:38 ` Thierry Reding 2014-08-29 14:38 ` Thierry Reding 2014-08-29 15:25 ` Michal Suchanek 2014-08-29 15:25 ` Michal Suchanek 2014-09-02 9:25 ` Maxime Ripard 2014-09-02 9:25 ` Maxime Ripard 2014-09-27 23:56 ` Mike Turquette 2014-09-27 23:56 ` Mike Turquette 2014-09-29 8:06 ` Thierry Reding 2014-09-29 8:06 ` Thierry Reding 2014-09-29 8:27 ` Geert Uytterhoeven 2014-09-29 8:27 ` Geert Uytterhoeven 2014-09-29 8:27 ` Geert Uytterhoeven 2014-09-29 8:27 ` Geert Uytterhoeven 2014-09-29 8:54 ` [linux-sunxi] " Thierry Reding 2014-09-29 8:54 ` Thierry Reding 2014-09-29 8:54 ` Thierry Reding 2014-09-29 8:54 ` Thierry Reding 2014-09-29 9:10 ` [linux-sunxi] " Geert Uytterhoeven 2014-09-29 9:10 ` Geert Uytterhoeven 2014-09-29 9:10 ` Geert Uytterhoeven 2014-09-29 9:10 ` Geert Uytterhoeven 2014-09-29 9:29 ` [linux-sunxi] " Thierry Reding 2014-09-29 9:29 ` Thierry Reding 2014-09-29 9:29 ` Thierry Reding 2014-09-29 9:29 ` Thierry Reding 2014-09-29 9:44 ` [linux-sunxi] " Michal Suchanek 2014-09-29 9:44 ` Michal Suchanek 2014-09-29 9:44 ` Michal Suchanek 2014-09-29 9:44 ` Michal Suchanek 2014-09-29 10:40 ` [linux-sunxi] " Thierry Reding 2014-09-29 10:40 ` Thierry Reding 2014-09-29 10:40 ` Thierry Reding 2014-09-29 10:40 ` Thierry Reding 2014-09-29 9:23 ` [linux-sunxi] " Maxime Ripard 2014-09-29 9:23 ` Maxime Ripard 2014-09-29 10:18 ` Thierry Reding 2014-09-29 10:18 ` Thierry Reding 2014-09-29 10:35 ` Geert Uytterhoeven 2014-09-29 10:35 ` Geert Uytterhoeven 2014-09-29 10:44 ` Thierry Reding 2014-09-29 10:44 ` Thierry Reding 2014-09-29 11:32 ` Geert Uytterhoeven 2014-09-29 11:32 ` Geert Uytterhoeven 2014-09-29 14:00 ` Thierry Reding 2014-09-29 14:00 ` Thierry Reding 2014-09-29 11:34 ` Maxime Ripard 2014-09-29 11:34 ` Maxime Ripard 2014-09-29 13:54 ` Thierry Reding 2014-09-29 13:54 ` Thierry Reding 2014-09-29 15:57 ` Maxime Ripard 2014-09-29 15:57 ` Maxime Ripard 2014-09-30 4:59 ` Thierry Reding 2014-09-30 4:59 ` Thierry Reding 2014-09-30 7:46 ` Maxime Ripard 2014-09-30 7:46 ` Maxime Ripard 2014-09-30 11:43 ` Hans de Goede 2014-09-30 11:43 ` Hans de Goede 2014-09-30 11:46 ` Thierry Reding 2014-09-30 11:46 ` Thierry Reding 2014-09-30 21:37 ` Mike Turquette 2014-09-30 21:37 ` Mike Turquette 2014-10-01 7:30 ` Thierry Reding 2014-10-01 7:30 ` Thierry Reding 2014-10-01 18:17 ` Mike Turquette 2014-10-01 18:17 ` Mike Turquette 2014-10-02 8:12 ` Thierry Reding 2014-10-02 8:12 ` Thierry Reding 2014-09-29 11:00 ` Julian Calaby 2014-09-29 11:00 ` Julian Calaby 2014-09-29 13:21 ` Thierry Reding 2014-09-29 13:21 ` Thierry Reding 2014-09-29 14:46 ` Julian Calaby 2014-09-29 14:46 ` Julian Calaby 2014-09-29 15:19 ` Thierry Reding 2014-09-29 15:19 ` Thierry Reding 2014-09-29 15:42 ` Michal Suchanek 2014-09-29 15:42 ` Michal Suchanek 2014-09-30 0:10 ` Julian Calaby 2014-09-30 0:10 ` Julian Calaby 2014-09-29 11:46 ` Maxime Ripard 2014-09-29 11:46 ` Maxime Ripard 2014-09-29 13:47 ` Thierry Reding 2014-09-29 13:47 ` Thierry Reding 2014-09-29 15:04 ` Michal Suchanek 2014-09-29 15:04 ` Michal Suchanek 2014-09-29 15:49 ` Thierry Reding 2014-09-29 15:49 ` Thierry Reding 2014-09-29 16:39 ` Michal Suchanek 2014-09-29 16:39 ` Michal Suchanek 2014-09-29 15:55 ` Mark Brown 2014-09-29 15:55 ` Mark Brown 2014-09-30 5:09 ` Thierry Reding 2014-09-30 5:09 ` Thierry Reding 2014-09-30 17:39 ` Mark Brown 2014-09-30 17:39 ` Mark Brown 2014-10-01 7:41 ` Thierry Reding 2014-10-01 7:41 ` Thierry Reding 2014-10-01 11:10 ` Javier Martinez Canillas 2014-10-01 11:10 ` Javier Martinez Canillas 2014-10-01 12:32 ` Mark Brown 2014-10-01 12:32 ` Mark Brown 2014-10-01 12:48 ` Thierry Reding 2014-10-01 12:48 ` Thierry Reding 2014-10-01 17:05 ` Mark Brown 2014-10-01 17:05 ` Mark Brown 2014-10-01 17:26 ` Hans de Goede 2014-10-01 17:26 ` Hans de Goede 2014-10-01 17:54 ` jonsmirl 2014-10-01 17:54 ` jonsmirl at gmail.com 2014-10-01 18:12 ` Stephen Warren 2014-10-01 18:12 ` Stephen Warren 2014-10-01 18:16 ` Luc Verhaegen 2014-10-01 18:16 ` Luc Verhaegen 2014-10-02 6:42 ` Hans de Goede 2014-10-02 6:42 ` Hans de Goede 2014-10-02 12:22 ` jonsmirl 2014-10-02 12:22 ` jonsmirl at gmail.com 2014-10-02 12:39 ` Hans de Goede 2014-10-02 12:39 ` Hans de Goede 2014-10-02 12:56 ` jonsmirl 2014-10-02 12:56 ` jonsmirl at gmail.com 2014-10-02 13:14 ` Hans de Goede 2014-10-02 13:14 ` Hans de Goede 2014-10-02 13:27 ` jonsmirl 2014-10-02 13:27 ` jonsmirl at gmail.com 2014-10-02 13:33 ` Hans de Goede 2014-10-02 13:33 ` Hans de Goede 2014-10-02 13:40 ` jonsmirl 2014-10-02 13:40 ` jonsmirl at gmail.com 2014-10-02 14:08 ` Hans de Goede 2014-10-02 14:08 ` Hans de Goede 2014-10-02 14:16 ` jonsmirl 2014-10-02 14:16 ` jonsmirl at gmail.com 2014-10-02 14:21 ` Hans de Goede 2014-10-02 14:21 ` Hans de Goede 2014-10-02 14:41 ` jonsmirl 2014-10-02 14:41 ` jonsmirl at gmail.com 2014-10-02 14:50 ` Hans de Goede 2014-10-02 14:50 ` Hans de Goede 2014-10-02 15:14 ` jonsmirl 2014-10-02 15:14 ` jonsmirl at gmail.com 2014-10-02 15:30 ` jonsmirl 2014-10-02 15:30 ` jonsmirl at gmail.com 2014-10-02 15:38 ` Hans de Goede 2014-10-02 15:38 ` Hans de Goede 2014-10-02 15:36 ` Michal Suchanek 2014-10-02 15:36 ` Michal Suchanek 2014-10-02 23:31 ` Julian Calaby 2014-10-02 23:31 ` Julian Calaby 2014-10-03 7:56 ` Hans de Goede 2014-10-03 7:56 ` Hans de Goede 2014-11-11 16:15 ` Grant Likely 2014-11-11 16:15 ` Grant Likely 2014-10-02 14:18 ` Maxime Ripard 2014-10-02 14:18 ` Maxime Ripard 2014-10-02 14:23 ` Hans de Goede 2014-10-02 14:23 ` Hans de Goede 2014-10-02 14:17 ` Michal Suchanek 2014-10-02 14:17 ` Michal Suchanek 2014-10-02 13:59 ` Michal Suchanek 2014-10-02 13:59 ` Michal Suchanek 2014-10-02 13:23 ` Michal Suchanek 2014-10-02 13:23 ` Michal Suchanek 2014-10-02 13:34 ` jonsmirl 2014-10-02 13:34 ` jonsmirl at gmail.com 2014-10-02 13:40 ` Hans de Goede 2014-10-02 13:40 ` Hans de Goede 2014-10-02 13:44 ` jonsmirl 2014-10-02 13:44 ` jonsmirl at gmail.com 2014-10-02 13:46 ` Geert Uytterhoeven 2014-10-02 13:46 ` Geert Uytterhoeven 2014-10-02 13:49 ` jonsmirl 2014-10-02 13:49 ` jonsmirl at gmail.com 2014-10-02 19:15 ` Geert Uytterhoeven 2014-10-02 19:15 ` Geert Uytterhoeven 2014-10-02 15:49 ` Stephen Warren 2014-10-02 15:49 ` Stephen Warren 2014-10-03 11:16 ` Hans de Goede 2014-10-03 11:16 ` Hans de Goede 2014-10-03 11:45 ` Tomi Valkeinen 2014-10-03 11:45 ` Tomi Valkeinen 2014-10-03 11:53 ` Hans de Goede 2014-10-03 11:53 ` Hans de Goede 2014-10-01 11:31 ` Mark Brown 2014-10-01 11:31 ` Mark Brown 2014-09-29 16:28 ` Maxime Ripard 2014-09-29 16:28 ` Maxime Ripard 2014-09-29 16:58 ` Luc Verhaegen 2014-09-29 16:58 ` Luc Verhaegen 2014-09-29 22:02 ` Luc Verhaegen 2014-09-29 22:02 ` Luc Verhaegen 2014-09-30 5:39 ` Thierry Reding 2014-09-30 5:39 ` Thierry Reding 2014-09-30 8:03 ` Maxime Ripard 2014-09-30 8:03 ` Maxime Ripard 2014-09-30 11:02 ` Thierry Reding 2014-09-30 11:02 ` Thierry Reding 2014-09-30 12:41 ` Mark Brown 2014-09-30 12:41 ` Mark Brown 2014-09-30 12:50 ` jonsmirl 2014-09-30 12:50 ` jonsmirl at gmail.com 2014-09-30 5:21 ` Thierry Reding 2014-09-30 5:21 ` Thierry Reding 2014-09-30 7:52 ` Maxime Ripard 2014-09-30 7:52 ` Maxime Ripard 2014-09-30 8:54 ` Thierry Reding 2014-09-30 8:54 ` Thierry Reding 2014-09-30 9:38 ` Michal Suchanek 2014-09-30 9:38 ` Michal Suchanek 2014-09-30 11:31 ` Thierry Reding 2014-09-30 11:31 ` Thierry Reding 2014-09-30 14:12 ` Michal Suchanek 2014-09-30 14:12 ` Michal Suchanek 2014-09-30 12:29 ` Maxime Ripard 2014-09-30 12:29 ` Maxime Ripard 2014-09-29 16:11 ` Mark Brown 2014-09-29 16:11 ` Mark Brown 2014-09-30 6:03 ` Thierry Reding 2014-09-30 6:03 ` Thierry Reding 2014-09-30 18:00 ` Mark Brown 2014-09-30 18:00 ` Mark Brown 2014-10-01 8:14 ` Thierry Reding 2014-10-01 8:14 ` Thierry Reding 2014-10-01 12:20 ` Mark Brown 2014-10-01 12:20 ` Mark Brown 2014-10-01 12:48 ` Thierry Reding 2014-10-01 12:48 ` Thierry Reding 2014-10-01 13:01 ` jonsmirl 2014-10-01 13:01 ` jonsmirl at gmail.com 2014-10-01 13:17 ` Michal Suchanek 2014-10-01 13:17 ` Michal Suchanek 2014-10-01 13:40 ` jonsmirl 2014-10-01 13:40 ` jonsmirl at gmail.com 2014-10-01 17:17 ` Mark Brown 2014-10-01 17:17 ` Mark Brown 2014-10-01 18:43 ` Geert Uytterhoeven 2014-10-01 18:43 ` Geert Uytterhoeven 2014-10-02 8:30 ` Thierry Reding 2014-10-02 8:30 ` Thierry Reding 2014-10-02 8:27 ` Thierry Reding 2014-10-02 8:27 ` Thierry Reding 2014-10-01 8:17 ` Thierry Reding 2014-10-01 8:17 ` Thierry Reding 2014-09-29 17:51 ` jonsmirl 2014-09-29 17:51 ` jonsmirl at gmail.com 2014-09-29 18:06 ` Michal Suchanek 2014-09-29 18:06 ` Michal Suchanek 2014-08-27 13:56 ` Maxime Ripard 2014-08-27 13:56 ` Maxime Ripard 2014-08-27 14:30 ` Thierry Reding 2014-08-27 14:30 ` Thierry Reding 2014-08-27 13:43 ` Maxime Ripard 2014-08-27 13:43 ` Maxime Ripard 2014-08-26 21:02 ` Maxime Ripard 2014-08-26 21:02 ` Maxime Ripard 2014-08-27 6:54 ` Thierry Reding 2014-08-27 6:54 ` Thierry Reding 2014-08-27 8:00 ` Hans de Goede 2014-08-27 8:00 ` Hans de Goede 2014-08-27 9:37 ` Thierry Reding 2014-08-27 9:37 ` Thierry Reding 2014-08-27 8:45 ` Maxime Ripard 2014-08-27 8:45 ` Maxime Ripard 2014-08-27 9:52 ` Thierry Reding 2014-08-27 9:52 ` Thierry Reding 2014-08-27 15:42 ` Maxime Ripard 2014-08-27 15:42 ` Maxime Ripard 2014-08-27 20:57 ` Michal Suchanek 2014-08-27 20:57 ` Michal Suchanek 2014-08-28 10:08 ` Thierry Reding 2014-08-28 10:08 ` Thierry Reding 2014-08-29 5:13 ` Michal Suchanek 2014-08-29 5:13 ` Michal Suchanek 2014-08-29 6:19 ` Thierry Reding 2014-08-29 6:19 ` Thierry Reding 2014-08-29 6:48 ` Michal Suchanek 2014-08-29 6:48 ` Michal Suchanek 2014-08-29 7:08 ` Thierry Reding 2014-08-29 7:08 ` Thierry Reding 2014-08-28 10:11 ` Thierry Reding 2014-08-28 10:11 ` Thierry Reding 2014-08-28 10:32 ` Michal Suchanek 2014-08-28 10:32 ` Michal Suchanek 2014-08-28 20:46 ` Maxime Ripard 2014-08-28 20:46 ` Maxime Ripard 2014-08-29 6:29 ` Thierry Reding 2014-08-29 6:29 ` Thierry Reding 2014-08-29 13:57 ` Maxime Ripard 2014-08-29 13:57 ` Maxime Ripard 2014-08-29 14:31 ` Thierry Reding 2014-08-29 14:31 ` Thierry Reding 2014-08-27 8:17 ` Henrik Nordström 2014-08-27 8:17 ` Henrik Nordström 2014-08-25 15:25 ` Andreas Färber 2014-08-25 15:25 ` Andreas Färber 2014-08-26 13:19 ` Maxime Ripard 2014-08-26 13:19 ` Maxime Ripard 2014-08-13 7:54 ` simplefb: add clock handling David Herrmann 2014-08-13 7:54 ` David Herrmann 2014-08-13 8:11 ` Luc Verhaegen 2014-08-13 8:11 ` Luc Verhaegen 2014-08-13 8:21 ` [linux-sunxi] " Koen Kooi 2014-08-13 8:21 ` Koen Kooi 2014-08-13 8:36 ` Hans de Goede 2014-08-13 8:36 ` Hans de Goede 2014-08-13 10:16 ` Koen Kooi 2014-08-13 10:16 ` Koen Kooi 2014-08-13 10:24 ` David Herrmann 2014-08-13 10:24 ` David Herrmann 2014-08-13 11:36 ` Hans de Goede 2014-08-13 11:36 ` Hans de Goede [not found] ` <jwvsil0r3gc.fsf-monnier+gmane.comp.hardware.netbook.arm.sunxi@gnu.org> 2014-08-13 12:58 ` Koen Kooi 2014-09-28 12:43 [PATCH 1/4] dt-bindings: Add a clocks property to the simple-framebuffer binding Hans de Goede [not found] ` <1411908218-20947-1-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2014-09-28 12:43 ` [PATCH 4/4] simplefb: add clock handling code Hans de Goede 2014-09-28 12:43 ` Hans de Goede 2014-09-28 12:43 ` Hans de Goede
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=1407914239-12054-5-git-send-email-libv@skynet.be \ --to=libv@skynet.be \ --cc=linux-arm-kernel@lists.infradead.org \ /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: linkBe 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.