Re: [PATCH RESEND v2 1/2] Input: touchscreen: ads7846: keep copy of pdata in private struct
From: Daniel Mack <zonque@gmail.com>
Date: 2013-07-01 07:13:30
On 01.07.2013 09:09, Dmitry Torokhov wrote:
Hi Daniel, On Mon, Jul 01, 2013 at 08:48:50AM +0200, Daniel Mack wrote:quoted
Hi Dmitry, On 01.07.2013 03:33, Dmitry Torokhov wrote:quoted
On Sun, Jun 30, 2013 at 11:09:14PM +0200, Daniel Mack wrote:quoted
+ + if (!pdata->model) + pdata->model = 7846; + + if (!pdata->vref_delay_usecs) + pdata->vref_delay_usecs = 100; + + if (!pdata->x_plate_ohms) + pdata->x_plate_ohms = 400; + + if (!pdata->pressure_max) + pdata->pressure_max = ~0;We should not be changing the platform data as the device does not own it and it may well be declared as a constant structure.We don't change the platform data that is passed in via the driver core. We keep a copy of it in our private strucz (that's what the subject says) and in case of DT, we modify that copy. The passed pdata is left untouched.That might have been the intent but the patch only stores a _pointer_ to the platform data in the main structure, so in non-DT case you end up modifying the original structure.
Eh, ok. I'll change that to always make a copy. Somehow though, I like the first approach (v1 of the set) better, which stored all data that is modified inside the private struct directly. Anyway, I'll submit v3 later. Thanks, Daniel