drv8424_mmi: status & position show methods

Added sysfs_notify call and make status & position show methods
waiting for updated values

Change-Id: Ib19dd3e362a70b6c5217821a46a2f3eb679452ac
Signed-off-by: Konstantin Makariev <hcv867@motorola.com>
Reviewed-on: https://gerrit.mot.com/2244143
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Qing Chang <qing@motorola.com>
Submit-Approved: Jira Key
This commit is contained in:
Konstantin Makariev 2022-04-15 17:03:00 -05:00 committed by Konstantin Makariev
parent b95d4e0c4a
commit c072cf20d3

View file

@ -761,7 +761,6 @@ static int moto_drv8424_drive_sequencer(motor_device* md)
if(atomic_read(&md->stepping)) {
motor_control* mc = &md->mc;
sysfs_notify(&md->dev->kobj, NULL, "status");
LOGD("Status updated: status %d\n", atomic_read(&md->status));
GPIO_OUTPUT_DIR(mc->ptable[MOTOR_STEP], md->level);
atomic_inc(&md->step_count);
@ -831,7 +830,6 @@ static __ref int motor_kthread(void *arg)
atomic_set(&md->status, value);
moto_drv8424_cmd_push(md, CMD_STATUS, 0);
sysfs_notify(&md->dev->kobj, NULL, "status");
LOGD("Status updated: status %d, position %d\n",
atomic_read(&md->status), atomic_read(&md->position));
@ -936,12 +934,14 @@ static void motor_cmd_work(struct work_struct *work)
enable_irq(md->fault_irq);
break;
case CMD_STATUS:
sysfs_notify(&md->dev->kobj, NULL, "status");
md->status_update_ready = true;
wake_up_interruptible(&md->status_wait);
wake_up(&md->status_wait);
break;
case CMD_POSITION:
sysfs_notify(&md->dev->kobj, NULL, "position");
md->position_update_ready = true;
wake_up_interruptible(&md->position_wait);
wake_up(&md->position_wait);
break;
case CMD_POLL:
if (atomic_read(&md->destination) > 0) {