All of lore.kernel.org
 help / color / mirror / Atom feed
From: Trilok Soni <tsoni@codeaurora.org>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Anirudh Ghayal <aghayal@codeaurora.org>,
	linux-kernel@vger.kernel.org, linux-input@vger.kernel.org,
	rtc-linux@googlegroups.com, linux-arm-msm@vger.kernel.org,
	Amy Maloche <amaloche@codeaurora.org>,
	Mohan Pallaka <mpallaka@codeaurora.org>
Subject: Re: [RFC v2 PATCH 7/7] input: misc: Add support for PM8058 based vibrator driver
Date: Wed, 02 Feb 2011 14:23:57 +0530	[thread overview]
Message-ID: <4D491BA5.5080107@codeaurora.org> (raw)
In-Reply-To: <20110202083315.GA23573@core.coreip.homeip.net>

Hi Dmitry,

On 2/2/2011 2:03 PM, Dmitry Torokhov wrote:
> Hi Anirudh,
> 
> On Tue, Feb 01, 2011 at 07:17:43PM +0530, Anirudh Ghayal wrote:
>> +
>> +#include <linux/mfd/pmic8058.h>
>> +#include <linux/input/pmic8058-vibrator.h>
> 
> Where is this header file? Shouldn't it be part of this patch?

Looks like someone forgot "git add" on it. We will fix this in v3.

> 
>> +
>> +#define VIB_DRV			0x4A
>> +
>> +#define VIB_DRV_SEL_MASK	0xf8
>> +#define VIB_DRV_SEL_SHIFT	0x03
>> +#define VIB_DRV_EN_MANUAL_MASK	0xfc
>> +
>> +#define VIB_MAX_LEVEL_mV	(3100)
>> +#define VIB_MIN_LEVEL_mV	(1200)
>> +#define VIB_MAX_LEVELS		(VIB_MAX_LEVEL_mV - VIB_MIN_LEVEL_mV)
>> +
>> +#define MAX_FF_SPEED		0xff
>> +
>> +/*
>> + * struct pmic8058_vib - structure to hold vibrator data
>> + * vib_input_dev: input device supporting force feedback
>> + * work: work structure to set the vibration parameters
>> + * dev: device supporting force feedback
>> + * pdata: platform data
>> + * pm_chip: reference to pmic chip to carry out read/write operations
>> + * speed: speed of vibration set from userland
>> + * state: state of vibrator
>> + * level: level of vibration to set in the chip
>> + * reg_vib_drv: VIB_DRV register value
> 
> Hmm, this is kind of kerneldoc but not quite (kerneldoc's arguments
> start with '@').

Ack. It will be fixed.

>> +
>> +static int __devinit pmic8058_vib_probe(struct platform_device *pdev)
>> +
>> +{
>> +	struct pm8058_chip *pm_chip;
>> +	struct pmic8058_vib *vib;
>> +	const struct pmic8058_vibrator_pdata *pdata = pdev->dev.platform_data;
>> +	int rc;
>> +	u8 val;
>> +
>> +	pm_chip = platform_get_drvdata(pdev);
> 
> The parent should not abuse platform data of _this_ device, it belongs
> to this driver. In fact you overwrite it with pmic8058_vib below, which
> means that you can't unbind the driver and bind it again.
> 
> Please find other way to pass pm_chip.

This will be fixed through pmic8058 core driver, when we submit. We are aware of it,
and the all the sub-device driver will be changed to do it properly once we release
them again with pmic core driver submission.

>> +
>> +	platform_set_drvdata(pdev, vib);
>> +
>> +	rc = input_register_device(vib->vib_input_dev);
>> +	if (rc < 0) {
>> +		dev_dbg(&pdev->dev, "couldn't register input device\n");
>> +		goto err_reg_input_dev;
>> +	}
> 
> platform_set_drvdata(pdev, vib) should go here so you do not need to
> clean it if input_register_device() fails.

Ack

>> +
>> +static int __devexit pmic8058_vib_remove(struct platform_device *pdev)
>> +{
>> +	struct pmic8058_vib *vib = platform_get_drvdata(pdev);
>> +
>> +	cancel_work_sync(&vib->work);
>> +	if (vib->state)
>> +		pmic8058_vib_set(vib, 0);
> 
> This should probably be part of pmic8058_vib_close() method.
> 

Ok. We will check and fix.

>> +
>> +	input_unregister_device(vib->vib_input_dev);
>> +	kfree(vib);
> 
> Need to call platform_set_drvdata(pdev, NULL);

Ack.

> 
> What about PM? Do you need to shut off vibration if device goes to sleep?

Yes. Let me check and add it to v3 patch series.

I will drop the PMIC8058 OTHC from v3 series, as Mark suggested to explore ASoC way of 
doing it.

---Trilok Soni

-- 
Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

      reply	other threads:[~2011-02-02  8:53 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-01 13:47 [RFC v2 PATCH 0/7] Qualcomm PMIC8058 sub-device drivers Anirudh Ghayal
2011-02-01 13:47 ` [RFC v2 PATCH 1/7] matrix_keypad: Increase the max limit of rows and columns Anirudh Ghayal
2011-02-09  8:02   ` Eric Miao
2011-02-09  8:02     ` Eric Miao
2011-02-10 12:20     ` Trilok Soni
2011-02-10 12:40       ` Eric Miao
2011-02-01 13:47 ` [RFC v2 PATCH 2/7] input: pm8058_keypad: Qualcomm PMIC8058 keypad controller driver Anirudh Ghayal
2011-02-01 13:47 ` [RFC v2 PATCH 3/7] led: pmic8058: Add PMIC8058 leds driver Anirudh Ghayal
2011-02-06  1:47   ` Lars-Peter Clausen
2011-02-01 13:47 ` [RFC v2 PATCH 4/7] input: pmic8058_pwrkey: Add support for power key Anirudh Ghayal
2011-02-01 17:49   ` Dmitry Torokhov
2011-02-02  7:43     ` Trilok Soni
2011-02-01 13:47 ` [RFC v2 PATCH 5/7] input: pmic8058-othc: Add support for PM8058 based OTHC Anirudh Ghayal
2011-02-01 14:33   ` [rtc-linux] " Mark Brown
2011-02-02  7:51     ` Trilok Soni
2011-02-01 13:47 ` [RFC v2 PATCH 6/7] drivers: rtc: Add support for Qualcomm PMIC8058 RTC Anirudh Ghayal
2011-02-01 13:47 ` [RFC v2 PATCH 7/7] input: misc: Add support for PM8058 based vibrator driver Anirudh Ghayal
2011-02-02  8:33   ` Dmitry Torokhov
2011-02-02  8:53     ` Trilok Soni [this message]

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=4D491BA5.5080107@codeaurora.org \
    --to=tsoni@codeaurora.org \
    --cc=aghayal@codeaurora.org \
    --cc=amaloche@codeaurora.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mpallaka@codeaurora.org \
    --cc=rtc-linux@googlegroups.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.