All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Wang, Jiada" <jiada_wang@mentor.com>
To: Dmitry Osipenko <digetx@gmail.com>, <nick@shmanahar.org>,
	<dmitry.torokhov@gmail.com>, <jikos@kernel.org>,
	<benjamin.tissoires@redhat.com>, <bsz@semihalf.com>
Cc: <linux-input@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<erosca@de.adit-jv.com>, <Andrew_Gabbasov@mentor.com>
Subject: Re: [PATCH v10 52/55] input: touchscreen: atmel_mxt_ts: Added sysfs entry for touchscreen status
Date: Mon, 6 Apr 2020 15:59:25 +0900	[thread overview]
Message-ID: <812005d3-0147-bbae-c15e-c2453e510e53@mentor.com> (raw)
In-Reply-To: <e4c9623c-9ee9-90f9-8251-c36443352072@gmail.com>

Hi Dmitry

On 2020/04/02 1:10, Dmitry Osipenko wrote:
> 01.04.2020 17:33, Dmitry Osipenko пишет:
>> 01.04.2020 15:51, Wang, Jiada пишет:
>>> Hi Dmitry
>>>
>>> Thanks for your comments
>>>
>>> On 2020/04/01 0:08, Dmitry Osipenko wrote:
>>>> 31.03.2020 13:50, Jiada Wang пишет:
>>>> ...
>>>>> +static void mxt_watchdog_work(struct work_struct *work)
>>>>> +{
>>>>> +    struct mxt_data *data =
>>>>> +        container_of(work, struct mxt_data, watchdog_work.work);
>>>>> +    u16 info_buf;
>>>>> +    int ret;
>>>>> +
>>>>> +    if (data->suspended || data->in_bootloader ||
>>>>> +        data->mxt_status.intp_triggered)
>>>>> +        goto sched_work;
>>>>
>>>> Won't it become a problem if other thread puts device into suspended /
>>>> bootloader state in the same time?
>>>>
>>> right, I will use mutex lock to prevent such case.
>>> also I think data->mxt_status.intp_triggered isn't necessary,
>>> when lock is used.
> 
> Won't it be cleaner to stop/start the watchdog instead of messing with
> the locks?
> 
will stop/start watchdog work when necessary in next version

Thanks,
Jiada
>>>>> +    ret = __mxt_read_reg(data->client, 0, sizeof(info_buf), &info_buf);
>>>>> +
>>>>> +    if (ret) {
>>>>> +        data->mxt_status.error_count++;
>>>>> +        data->mxt_status.dev_status = false;
>>>>> +    } else {
>>>>> +        data->mxt_status.dev_status = true;
>>>>> +    }
>>>>> +
>>>>> +sched_work:
>>>>> +    schedule_delayed_work(&data->watchdog_work,
>>>>> +                  msecs_to_jiffies(MXT_WATCHDOG_TIMEOUT));
>>>>> +}
>>>> ...
>>>>
>>>>> @@ -4329,6 +4390,12 @@ static int mxt_probe(struct i2c_client
>>>>> *client, const struct i2c_device_id *id)
>>>>>            msleep(MXT_RESET_TIME);
>>>>>        }
>>>>>    +    if (debug_state) {
>>>>> +        INIT_DELAYED_WORK(&data->watchdog_work, mxt_watchdog_work);
>>>>> +        schedule_delayed_work(&data->watchdog_work,
>>>>> +                      msecs_to_jiffies(MXT_WATCHDOG_TIMEOUT));
>>>>> +    }
>>>>> +
>>>>>        error = mxt_initialize(data);
>>>>>        if (error)
>>>>>            goto err_free_object;
>>>>> @@ -4343,6 +4410,8 @@ static int mxt_probe(struct i2c_client *client,
>>>>> const struct i2c_device_id *id)
>>>>>        return 0;
>>>>>      err_free_object:
>>>>> +    if (debug_state)
>>>>> +        cancel_delayed_work_sync(&data->watchdog_work);
>>>>>        mxt_free_input_device(data);
>>>>>        mxt_free_object_table(data);
>>>>>        if (data->reset_gpio) {
>>>>> @@ -4367,6 +4436,9 @@ static int mxt_remove(struct i2c_client *client)
>>>>>        mxt_free_input_device(data);
>>>>>        mxt_free_object_table(data);
>>>>>    +    if (debug_state)
>>>>> +        cancel_delayed_work_sync(&data->watchdog_work);
>>>>
>>>> What will happen if debug_state was false during of mxt_probe() and then
>>>> the debug_state parameter was changed to true via sysfs?
>>>
>>> module_param debug_state is added with permission 0,
>>> so it's value won't change during driver operation
>>
>> Thank you for the clarification, I didn't realize that setting
>> permission to 0 hides the parameter completely in sysfs.
> 
> Anyways, I'm still thinking that the condition removal will make code
> cleaner a tad.
> 

  reply	other threads:[~2020-04-06  6:59 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-31 10:49 [PATCH v10 00/55] atmel_mxt_ts misc Jiada Wang
2020-03-31 10:49 ` [PATCH v10 01/55] Input: introduce input_mt_report_slot_inactive Jiada Wang
2020-03-31 10:49 ` [PATCH v10 02/55] Input: atmel_mxt_ts - rework sysfs init/remove Jiada Wang
2020-03-31 10:49 ` [PATCH v10 03/55] Input: atmel_mxt_ts - only read messages in mxt_acquire_irq() when necessary Jiada Wang
2020-03-31 10:50 ` [PATCH v10 04/55] Input: atmel_mxt_ts - split large i2c transfers into blocks Jiada Wang
2020-03-31 10:50 ` [PATCH v10 05/55] Input: atmel_mxt_ts - output status from T48 Noise Supression Jiada Wang
2020-03-31 10:50 ` [PATCH v10 06/55] Input: atmel_mxt_ts - output status from T42 Touch Suppression Jiada Wang
2020-03-31 10:50 ` [PATCH v10 07/55] Input: atmel_mxt_ts - implement T9 vector/orientation support Jiada Wang
2020-03-31 10:50 ` [PATCH v10 08/55] Input: atmel_mxt_ts - implement T15 Key Array support Jiada Wang
2020-03-31 10:50 ` [PATCH v10 09/55] Input: atmel_mxt_ts - handle reports from T47 Stylus object Jiada Wang
2020-03-31 10:50 ` [PATCH v10 10/55] Input: atmel_mxt_ts - implement support for T107 active stylus Jiada Wang
2020-03-31 10:50 ` [PATCH v10 11/55] Input: atmel_mxt_ts - add debug for T92 gesture and T93 touch seq msgs Jiada Wang
2020-03-31 10:50 ` [PATCH v10 12/55] Input: atmel_mxt_ts - release touch state during suspend Jiada Wang
2020-03-31 10:50 ` [PATCH v10 13/55] dt-bindings: input: atmel: add suspend mode support Jiada Wang
2020-04-01 15:42   ` Dmitry Osipenko
2020-04-02  8:28     ` Wang, Jiada
2020-03-31 10:50 ` [PATCH v10 14/55] Input: atmel_mxt_ts - add regulator control support Jiada Wang
2020-03-31 10:50 ` [PATCH v10 15/55] Input: atmel_mxt_ts - report failures in suspend/resume Jiada Wang
2020-03-31 10:50 ` [PATCH v10 16/55] Input: atmel_mxt_ts - allow specification of firmware file name Jiada Wang
2020-03-31 10:50 ` [PATCH v10 17/55] Input: atmel_mxt_ts: Rename mxt_fw_version_show to fw_version_show Jiada Wang
2020-03-31 10:50 ` [PATCH v10 18/55] Input: atmel_mxt_ts: Rename mxt_hw_version_show to hw_version_show Jiada Wang
2020-04-10 21:46   ` Dmitry Osipenko
2020-04-15 13:08     ` Wang, Jiada
2020-03-31 10:50 ` [PATCH v10 19/55] Input: atmel_mxt_ts: rename mxt_update_fw_store to update_fw_store Jiada Wang
2020-03-31 10:50 ` [PATCH v10 20/55] Input: atmel_mxt_ts - handle cfg filename via pdata/sysfs Jiada Wang
2020-04-07 14:56   ` Dmitry Osipenko
2020-04-09  9:11     ` Wang, Jiada
2020-03-31 10:50 ` [PATCH v10 21/55] dt-bindings: input: atmel: provide name of configuration file Jiada Wang
2020-03-31 10:50 ` [PATCH v10 22/55] Input: atmel_mxt_ts - allow input name to be specified in platform data Jiada Wang
2020-03-31 10:50 ` [PATCH v10 23/55] dt-bindings: input: atmel: support to specify input name Jiada Wang
2020-03-31 10:50 ` [PATCH v10 24/55] Input: atmel_mxt_ts - add config checksum attribute to sysfs Jiada Wang
2020-03-31 10:50 ` [PATCH v10 25/55] Input: atmel_mxt_ts - refactor firmware flash to extract context into struct Jiada Wang
2020-03-31 10:50 ` [PATCH v10 26/55] Input: atmel_mxt_ts - refactor code to enter bootloader into separate func Jiada Wang
2020-03-31 10:50 ` [PATCH v10 27/55] Input: atmel_mxt_ts - combine bootloader version query with probe Jiada Wang
2020-03-31 10:50 ` [PATCH v10 28/55] Input: atmel_mxt_ts - improve bootloader state machine handling Jiada Wang
2020-03-31 10:50 ` [PATCH v10 29/55] Input: atmel_mxt_ts - rename bl_completion to chg_completion Jiada Wang
2020-03-31 10:50 ` [PATCH v10 30/55] Input: atmel_mxt_ts - make bootloader interrupt driven Jiada Wang
2020-03-31 10:50 ` [PATCH v10 31/55] Input: atmel_mxt_ts - delay enabling IRQ when not using regulators Jiada Wang
2020-04-10 22:38   ` Dmitry Osipenko
2020-04-15 14:44     ` Wang, Jiada
2020-04-18 13:59       ` Dmitry Osipenko
2020-03-31 10:50 ` [PATCH v10 32/55] Input: atmel_mxt_ts - implement I2C retries Jiada Wang
2020-03-31 10:50 ` [PATCH v10 33/55] Input: atmel_mxt_ts - orientation is not present in hover Jiada Wang
2020-03-31 10:50 ` [PATCH v10 34/55] Input: atmel_mxt_ts - implement debug output for messages Jiada Wang
2020-03-31 10:50 ` [PATCH v10 35/55] Input: atmel_mxt_ts - implement improved debug message interface Jiada Wang
2020-03-31 10:50 ` [PATCH v10 36/55] Input: atmel_mxt_ts - eliminate data->raw_info_block Jiada Wang
2020-03-31 10:50 ` [PATCH v10 37/55] Input: atmel_mxt_ts - Change call-points of mxt_free_* functions Jiada Wang
2020-03-31 10:50 ` [PATCH v10 38/55] Input: atmel_mxt_ts - rely on calculated_crc rather than file config_crc Jiada Wang
2020-03-31 10:50 ` [PATCH v10 39/55] input: atmel_mxt_ts: export GPIO reset line via sysfs Jiada Wang
2020-03-31 10:50 ` [PATCH v10 40/55] input: atmel_mxt_ts: Add Missing Delay for reset handling of Atmel touch panel controller in detachable displays Jiada Wang
2020-03-31 10:50 ` [PATCH v10 41/55] Input: atmel_mxt_ts: Add support for run self-test routine Jiada Wang
2020-03-31 10:50 ` [PATCH v10 42/55] Input: atmel_mxt_ts: Limit the max bytes transferred in an i2c transaction Jiada Wang
2020-03-31 10:50 ` [PATCH v10 43/55] dt-bindings: input: atmel: support to set max bytes transferred Jiada Wang
2020-04-01 14:38   ` Dmitry Osipenko
2020-04-07  9:27     ` Wang, Jiada
2020-04-07 14:47       ` Dmitry Osipenko
2020-04-09  6:25         ` Wang, Jiada
2020-04-09 15:10           ` Dmitry Osipenko
2020-04-10  6:53             ` Wang, Jiada
2020-03-31 10:50 ` [PATCH v10 44/55] Input: atmel_mxt_ts: return error from mxt_process_messages_until_invalid() Jiada Wang
2020-03-31 10:50 ` [PATCH v10 45/55] Input: Atmel: improve error handling in mxt_start() Jiada Wang
2020-03-31 10:50 ` [PATCH v10 46/55] Input: Atmel: improve error handling in mxt_initialize() Jiada Wang
2020-03-31 10:50 ` [PATCH v10 47/55] Input: Atmel: improve error handling in mxt_update_cfg() Jiada Wang
2020-03-31 10:50 ` [PATCH v10 48/55] Input: Atmel: Improve error handling in mxt_initialize_input_device() Jiada Wang
2020-03-31 10:50 ` [PATCH v10 49/55] Input: Atmel: handle ReportID "0x00" while processing T5 messages Jiada Wang
2020-03-31 10:50 ` [PATCH v10 50/55] Input: Atmel: use T44 object to process " Jiada Wang
2020-03-31 10:50 ` [PATCH v10 51/55] Input: atmel_mxt_ts: use gpiod_set_value_cansleep for reset pin Jiada Wang
2020-03-31 10:50 ` [PATCH v10 52/55] input: touchscreen: atmel_mxt_ts: Added sysfs entry for touchscreen status Jiada Wang
2020-03-31 15:08   ` Dmitry Osipenko
2020-04-01 12:51     ` Wang, Jiada
2020-04-01 14:33       ` Dmitry Osipenko
2020-04-01 16:10         ` Dmitry Osipenko
2020-04-06  6:59           ` Wang, Jiada [this message]
2020-03-31 10:50 ` [PATCH v10 53/55] input: atmel_mxt_ts: added sysfs interface to update atmel T38 data Jiada Wang
2020-03-31 10:50 ` [PATCH v10 54/55] Input: atmel_mxt_ts: Implement synchronization during various operation Jiada Wang
2020-04-01 16:04   ` Dmitry Osipenko
2020-04-02 11:50     ` Wang, Jiada
2020-04-02 13:24       ` Dmitry Osipenko
2020-04-02 13:44         ` Dmitry Osipenko
2020-04-06  4:07           ` Wang, Jiada
2020-04-02 14:00         ` Dmitry Osipenko
2020-04-02 14:07           ` Dmitry Osipenko
2020-04-06  4:18           ` Wang, Jiada
2020-04-07 15:00             ` Dmitry Osipenko
2020-04-03  8:39         ` Wang, Jiada
2020-04-04 21:38           ` Dmitry Osipenko
2020-03-31 10:50 ` [PATCH v10 55/55] Input: atmel_mxt_ts - Fix compilation warning Jiada Wang

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=812005d3-0147-bbae-c15e-c2453e510e53@mentor.com \
    --to=jiada_wang@mentor.com \
    --cc=Andrew_Gabbasov@mentor.com \
    --cc=benjamin.tissoires@redhat.com \
    --cc=bsz@semihalf.com \
    --cc=digetx@gmail.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=erosca@de.adit-jv.com \
    --cc=jikos@kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nick@shmanahar.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: 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.