All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sakari Ailus <sakari.ailus@iki.fi>
To: Jacek Anaszewski <j.anaszewski@samsung.com>
Cc: linux-leds@vger.kernel.org, linux-media@vger.kernel.org,
	devicetree@vger.kernel.org, kyungmin.park@samsung.com,
	pavel@ucw.cz, cooloney@gmail.com, rpurdie@rpsys.net,
	s.nawrocki@samsung.com
Subject: Re: [PATCH v1 03/11] leds: Add driver for AAT1290 current regulator
Date: Sun, 22 Mar 2015 00:55:03 +0200	[thread overview]
Message-ID: <20150321225502.GF16613@valkosipuli.retiisi.org.uk> (raw)
In-Reply-To: <1426863811-12516-4-git-send-email-j.anaszewski@samsung.com>

Hi Jacek,

On Fri, Mar 20, 2015 at 04:03:23PM +0100, Jacek Anaszewski wrote:
...
> +static int aat1290_led_probe(struct platform_device *pdev)
> +{
> +	struct device *dev = &pdev->dev;
> +	struct aat1290_led *led;
> +	struct led_classdev *led_cdev;
> +	struct led_classdev_flash *fled_cdev;
> +	struct aat1290_led_settings settings;
> +	int ret;
> +
> +	led = devm_kzalloc(dev, sizeof(*led), GFP_KERNEL);
> +	if (!led)
> +		return -ENOMEM;
> +
> +	led->pdev = pdev;
> +	platform_set_drvdata(pdev, led);
> +
> +	fled_cdev = &led->fled_cdev;
> +	led_cdev = &fled_cdev->led_cdev;
> +
> +	ret = aat1290_led_parse_dt(led);
> +	if (ret < 0)
> +		return ret;
> +
> +	if (!led_cdev->name)
> +		led_cdev->name = AAT1290_NAME;
> +
> +	/* Init flash settings */
> +	aat1290_init_flash_settings(led, &settings);
> +
> +	fled_cdev->timeout = settings.flash_timeout;
> +	fled_cdev->ops = &flash_ops;
> +
> +	/* Init LED class */
> +	led_cdev->brightness_set = aat1290_led_brightness_set;
> +	led_cdev->brightness_set_sync = aat1290_led_brightness_set_sync;
> +	led_cdev->max_brightness = AAT1290_MM_CURRENT_SCALE_SIZE;
> +	led_cdev->flags |= LED_DEV_CAP_FLASH;
> +
> +	INIT_WORK(&led->work_brightness_set, aat1290_brightness_set_work);
> +
> +	/* Register in the LED subsystem. */
> +	ret = led_classdev_flash_register(&pdev->dev, fled_cdev);
> +	if (ret < 0)
> +		return ret;
> +
> +	mutex_init(&led->lock);

I think you must initialise the mutex before led_classdev_flash_register(),
as this exposes the device to the user. Remember mutex_destroy() in error
handling.

> +	return 0;
> +}
> +
> +static int aat1290_led_remove(struct platform_device *pdev)
> +{
> +	struct aat1290_led *led = platform_get_drvdata(pdev);
> +
> +	led_classdev_flash_unregister(&led->fled_cdev);
> +	cancel_work_sync(&led->work_brightness_set);
> +
> +	mutex_destroy(&led->lock);
> +
> +	return 0;
> +}
> +
> +static const struct of_device_id aat1290_led_dt_match[] = {
> +	{.compatible = "skyworks,aat1290"},

{ .compatible ... 1290" },

With the two issues fixed,

Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>

> +	{},
> +};
> +
> +static struct platform_driver aat1290_led_driver = {
> +	.probe		= aat1290_led_probe,
> +	.remove		= aat1290_led_remove,
> +	.driver		= {
> +		.name	= "aat1290",
> +		.owner	= THIS_MODULE,
> +		.of_match_table = aat1290_led_dt_match,
> +	},
> +};
> +
> +module_platform_driver(aat1290_led_driver);
> +
> +MODULE_AUTHOR("Jacek Anaszewski <j.anaszewski@samsung.com>");
> +MODULE_DESCRIPTION("Skyworks Current Regulator for Flash LEDs");
> +MODULE_LICENSE("GPL v2");

-- 
Kind regards,

Sakari Ailus
e-mail: sakari.ailus@iki.fi	XMPP: sailus@retiisi.org.uk

  reply	other threads:[~2015-03-21 22:55 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-20 15:03 [PATCH v1 00/11] LED / flash API integration Jacek Anaszewski
2015-03-20 15:03 ` [PATCH v1 01/11] leds: Add support for max77693 mfd flash cell Jacek Anaszewski
2015-03-21 22:44   ` Sakari Ailus
2015-03-23 13:22     ` Jacek Anaszewski
2015-03-20 15:03 ` [PATCH v1 02/11] DT: Add documentation for the mfd Maxim max77693 Jacek Anaszewski
2015-03-21 22:49   ` Sakari Ailus
2015-03-23  9:54     ` Jacek Anaszewski
2015-03-25  0:55       ` Sakari Ailus
2015-03-26 14:06   ` Lee Jones
2015-03-20 15:03 ` [PATCH v1 03/11] leds: Add driver for AAT1290 current regulator Jacek Anaszewski
2015-03-21 22:55   ` Sakari Ailus [this message]
2015-03-20 15:03 ` [PATCH v1 04/11] of: Add Skyworks Solutions, Inc. vendor prefix Jacek Anaszewski
2015-03-20 15:03 ` [PATCH v1 05/11] DT: Add documentation for the Skyworks AAT1290 Jacek Anaszewski
2015-03-20 15:03 ` [PATCH v1 07/11] media: Add registration helpers for V4L2 flash sub-devices Jacek Anaszewski
2015-03-22  0:22   ` Sakari Ailus
2015-03-23 15:08     ` Jacek Anaszewski
2015-03-23 22:35       ` Sakari Ailus
2015-03-24  8:35         ` Jacek Anaszewski
2015-03-25  1:00           ` Sakari Ailus
2015-03-25  7:29             ` Jacek Anaszewski
2015-03-25  0:40   ` Sakari Ailus
     [not found] ` <1426863811-12516-1-git-send-email-j.anaszewski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2015-03-20 15:03   ` [PATCH v1 06/11] exynos4-is: Add support for v4l2-flash subdevs Jacek Anaszewski
2015-03-20 15:03     ` Jacek Anaszewski
     [not found]     ` <1426863811-12516-7-git-send-email-j.anaszewski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2015-03-22  1:21       ` Sakari Ailus
2015-03-22  1:21         ` Sakari Ailus
2015-03-23 15:32         ` Jacek Anaszewski
2015-03-23 22:39           ` Sakari Ailus
2015-03-24  8:52             ` Jacek Anaszewski
2015-03-20 15:03   ` [PATCH v1 08/11] Documentation: leds: Add description of v4l2-flash sub-device Jacek Anaszewski
2015-03-20 15:03     ` Jacek Anaszewski
2015-03-20 15:03 ` [PATCH v1 09/11] DT: Add documentation for exynos4-is 'flashes' property Jacek Anaszewski
2015-03-25  1:06   ` Sakari Ailus
2015-03-25  8:52     ` Jacek Anaszewski
2015-04-03 10:53       ` Sylwester Nawrocki
2015-04-30 12:53         ` Jacek Anaszewski
2015-04-03 12:15       ` Sakari Ailus
2015-03-20 15:03 ` [PATCH v1 10/11] leds: max77693: add support for V4L2 Flash sub-device Jacek Anaszewski
2015-03-22  0:28   ` Sakari Ailus
2015-03-20 15:03 ` [PATCH v1 11/11] leds: aat1290: " Jacek Anaszewski

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=20150321225502.GF16613@valkosipuli.retiisi.org.uk \
    --to=sakari.ailus@iki.fi \
    --cc=cooloney@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=j.anaszewski@samsung.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-leds@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=rpurdie@rpsys.net \
    --cc=s.nawrocki@samsung.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.