Skip to content

Commit

Permalink
ACPI: EC: Relocate acpi_ec_create_query() and drop acpi_ec_delete_que…
Browse files Browse the repository at this point in the history
…ry()

Move acpi_ec_create_query() after acpi_ec_event_processor(), drop the
no longer needed forward declaration of the latter, and eliminate
acpi_ec_delete_query() which isn't really necessary.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  • Loading branch information
Rafael J. Wysocki committed Dec 1, 2021
1 parent c33676a commit befd9b5
Showing 1 changed file with 23 additions and 31 deletions.
54 changes: 23 additions & 31 deletions drivers/acpi/ec.c
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,6 @@ struct acpi_ec_query {
static int acpi_ec_submit_query(struct acpi_ec *ec);
static bool advance_transaction(struct acpi_ec *ec, bool interrupt);
static void acpi_ec_event_handler(struct work_struct *work);
static void acpi_ec_event_processor(struct work_struct *work);

struct acpi_ec *first_ec;
EXPORT_SYMBOL(first_ec);
Expand Down Expand Up @@ -1134,33 +1133,6 @@ void acpi_ec_remove_query_handler(struct acpi_ec *ec, u8 query_bit)
}
EXPORT_SYMBOL_GPL(acpi_ec_remove_query_handler);

static struct acpi_ec_query *acpi_ec_create_query(struct acpi_ec *ec, u8 *pval)
{
struct acpi_ec_query *q;
struct transaction *t;

q = kzalloc(sizeof (struct acpi_ec_query), GFP_KERNEL);
if (!q)
return NULL;

INIT_WORK(&q->work, acpi_ec_event_processor);
t = &q->transaction;
t->command = ACPI_EC_COMMAND_QUERY;
t->rdata = pval;
t->rlen = 1;
q->ec = ec;
return q;
}

static void acpi_ec_delete_query(struct acpi_ec_query *q)
{
if (q) {
if (q->handler)
acpi_ec_put_query_handler(q->handler);
kfree(q);
}
}

static void acpi_ec_event_processor(struct work_struct *work)
{
struct acpi_ec_query *q = container_of(work, struct acpi_ec_query, work);
Expand All @@ -1180,7 +1152,26 @@ static void acpi_ec_event_processor(struct work_struct *work)
ec->queries_in_progress--;
spin_unlock_irq(&ec->lock);

acpi_ec_delete_query(q);
acpi_ec_put_query_handler(handler);
kfree(q);
}

static struct acpi_ec_query *acpi_ec_create_query(struct acpi_ec *ec, u8 *pval)
{
struct acpi_ec_query *q;
struct transaction *t;

q = kzalloc(sizeof (struct acpi_ec_query), GFP_KERNEL);
if (!q)
return NULL;

INIT_WORK(&q->work, acpi_ec_event_processor);
t = &q->transaction;
t->command = ACPI_EC_COMMAND_QUERY;
t->rdata = pval;
t->rlen = 1;
q->ec = ec;
return q;
}

static int acpi_ec_submit_query(struct acpi_ec *ec)
Expand Down Expand Up @@ -1229,9 +1220,10 @@ static int acpi_ec_submit_query(struct acpi_ec *ec)

spin_unlock_irq(&ec->lock);

return 0;

err_exit:
if (result)
acpi_ec_delete_query(q);
kfree(q);

return result;
}
Expand Down

0 comments on commit befd9b5

Please sign in to comment.