Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 17070f24 authored by Michał Kępień's avatar Michał Kępień Committed by Darren Hart
Browse files

dell-smbios: don't pass an SMBIOS buffer to dell_smbios_send_request()



Passing an SMBIOS buffer pointer to dell_smbios_send_request() is
redundant as it should always operate on the SMBIOS buffer exported from
the module.

Signed-off-by: default avatarMichał Kępień <kernel@kempniu.pl>
Reviewed-by: default avatarPali Rohár <pali.rohar@gmail.com>
Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
parent 2f262136
Loading
Loading
Loading
Loading
+21 −21
Original line number Original line Diff line number Diff line
@@ -418,7 +418,7 @@ static int dell_rfkill_set(void *data, bool blocked)


	dell_smbios_get_buffer();
	dell_smbios_get_buffer();


	dell_smbios_send_request(buffer, 17, 11);
	dell_smbios_send_request(17, 11);
	ret = buffer->output[0];
	ret = buffer->output[0];
	status = buffer->output[1];
	status = buffer->output[1];


@@ -428,7 +428,7 @@ static int dell_rfkill_set(void *data, bool blocked)
	dell_smbios_clear_buffer();
	dell_smbios_clear_buffer();


	buffer->input[0] = 0x2;
	buffer->input[0] = 0x2;
	dell_smbios_send_request(buffer, 17, 11);
	dell_smbios_send_request(17, 11);
	ret = buffer->output[0];
	ret = buffer->output[0];
	hwswitch = buffer->output[1];
	hwswitch = buffer->output[1];


@@ -441,7 +441,7 @@ static int dell_rfkill_set(void *data, bool blocked)
	dell_smbios_clear_buffer();
	dell_smbios_clear_buffer();


	buffer->input[0] = (1 | (radio<<8) | (disable << 16));
	buffer->input[0] = (1 | (radio<<8) | (disable << 16));
	dell_smbios_send_request(buffer, 17, 11);
	dell_smbios_send_request(17, 11);
	ret = buffer->output[0];
	ret = buffer->output[0];


 out:
 out:
@@ -458,7 +458,7 @@ static void dell_rfkill_update_sw_state(struct rfkill *rfkill, int radio,
		int block = rfkill_blocked(rfkill);
		int block = rfkill_blocked(rfkill);
		dell_smbios_clear_buffer();
		dell_smbios_clear_buffer();
		buffer->input[0] = (1 | (radio << 8) | (block << 16));
		buffer->input[0] = (1 | (radio << 8) | (block << 16));
		dell_smbios_send_request(buffer, 17, 11);
		dell_smbios_send_request(17, 11);
	} else {
	} else {
		/* No hw-switch, sync BIOS state to sw_state */
		/* No hw-switch, sync BIOS state to sw_state */
		rfkill_set_sw_state(rfkill, !!(status & BIT(radio + 16)));
		rfkill_set_sw_state(rfkill, !!(status & BIT(radio + 16)));
@@ -481,7 +481,7 @@ static void dell_rfkill_query(struct rfkill *rfkill, void *data)


	dell_smbios_get_buffer();
	dell_smbios_get_buffer();


	dell_smbios_send_request(buffer, 17, 11);
	dell_smbios_send_request(17, 11);
	ret = buffer->output[0];
	ret = buffer->output[0];
	status = buffer->output[1];
	status = buffer->output[1];


@@ -493,7 +493,7 @@ static void dell_rfkill_query(struct rfkill *rfkill, void *data)
	dell_smbios_clear_buffer();
	dell_smbios_clear_buffer();


	buffer->input[0] = 0x2;
	buffer->input[0] = 0x2;
	dell_smbios_send_request(buffer, 17, 11);
	dell_smbios_send_request(17, 11);
	ret = buffer->output[0];
	ret = buffer->output[0];
	hwswitch = buffer->output[1];
	hwswitch = buffer->output[1];


@@ -521,14 +521,14 @@ static int dell_debugfs_show(struct seq_file *s, void *data)


	dell_smbios_get_buffer();
	dell_smbios_get_buffer();


	dell_smbios_send_request(buffer, 17, 11);
	dell_smbios_send_request(17, 11);
	ret = buffer->output[0];
	ret = buffer->output[0];
	status = buffer->output[1];
	status = buffer->output[1];


	dell_smbios_clear_buffer();
	dell_smbios_clear_buffer();


	buffer->input[0] = 0x2;
	buffer->input[0] = 0x2;
	dell_smbios_send_request(buffer, 17, 11);
	dell_smbios_send_request(17, 11);
	hwswitch_ret = buffer->output[0];
	hwswitch_ret = buffer->output[0];
	hwswitch_state = buffer->output[1];
	hwswitch_state = buffer->output[1];


@@ -619,7 +619,7 @@ static void dell_update_rfkill(struct work_struct *ignored)


	dell_smbios_get_buffer();
	dell_smbios_get_buffer();


	dell_smbios_send_request(buffer, 17, 11);
	dell_smbios_send_request(17, 11);
	ret = buffer->output[0];
	ret = buffer->output[0];
	status = buffer->output[1];
	status = buffer->output[1];


@@ -629,7 +629,7 @@ static void dell_update_rfkill(struct work_struct *ignored)
	dell_smbios_clear_buffer();
	dell_smbios_clear_buffer();


	buffer->input[0] = 0x2;
	buffer->input[0] = 0x2;
	dell_smbios_send_request(buffer, 17, 11);
	dell_smbios_send_request(17, 11);
	ret = buffer->output[0];
	ret = buffer->output[0];


	if (ret == 0 && (status & BIT(0)))
	if (ret == 0 && (status & BIT(0)))
@@ -710,7 +710,7 @@ static int __init dell_setup_rfkill(void)
		return 0;
		return 0;


	dell_smbios_get_buffer();
	dell_smbios_get_buffer();
	dell_smbios_send_request(buffer, 17, 11);
	dell_smbios_send_request(17, 11);
	ret = buffer->output[0];
	ret = buffer->output[0];
	status = buffer->output[1];
	status = buffer->output[1];
	dell_smbios_release_buffer();
	dell_smbios_release_buffer();
@@ -878,9 +878,9 @@ static int dell_send_intensity(struct backlight_device *bd)
	buffer->input[1] = bd->props.brightness;
	buffer->input[1] = bd->props.brightness;


	if (power_supply_is_system_supplied() > 0)
	if (power_supply_is_system_supplied() > 0)
		dell_smbios_send_request(buffer, 1, 2);
		dell_smbios_send_request(1, 2);
	else
	else
		dell_smbios_send_request(buffer, 1, 1);
		dell_smbios_send_request(1, 1);


	ret = dell_smi_error(buffer->output[0]);
	ret = dell_smi_error(buffer->output[0]);


@@ -901,9 +901,9 @@ static int dell_get_intensity(struct backlight_device *bd)
	buffer->input[0] = token;
	buffer->input[0] = token;


	if (power_supply_is_system_supplied() > 0)
	if (power_supply_is_system_supplied() > 0)
		dell_smbios_send_request(buffer, 0, 2);
		dell_smbios_send_request(0, 2);
	else
	else
		dell_smbios_send_request(buffer, 0, 1);
		dell_smbios_send_request(0, 1);


	if (buffer->output[0])
	if (buffer->output[0])
		ret = dell_smi_error(buffer->output[0]);
		ret = dell_smi_error(buffer->output[0]);
@@ -1160,7 +1160,7 @@ static int kbd_get_info(struct kbd_info *info)
	dell_smbios_get_buffer();
	dell_smbios_get_buffer();


	buffer->input[0] = 0x0;
	buffer->input[0] = 0x0;
	dell_smbios_send_request(buffer, 4, 11);
	dell_smbios_send_request(4, 11);
	ret = buffer->output[0];
	ret = buffer->output[0];


	if (ret) {
	if (ret) {
@@ -1248,7 +1248,7 @@ static int kbd_get_state(struct kbd_state *state)
	dell_smbios_get_buffer();
	dell_smbios_get_buffer();


	buffer->input[0] = 0x1;
	buffer->input[0] = 0x1;
	dell_smbios_send_request(buffer, 4, 11);
	dell_smbios_send_request(4, 11);
	ret = buffer->output[0];
	ret = buffer->output[0];


	if (ret) {
	if (ret) {
@@ -1284,7 +1284,7 @@ static int kbd_set_state(struct kbd_state *state)
	buffer->input[1] |= (state->timeout_unit & 0x3) << 30;
	buffer->input[1] |= (state->timeout_unit & 0x3) << 30;
	buffer->input[2] = state->als_setting & 0xFF;
	buffer->input[2] = state->als_setting & 0xFF;
	buffer->input[2] |= (state->level & 0xFF) << 16;
	buffer->input[2] |= (state->level & 0xFF) << 16;
	dell_smbios_send_request(buffer, 4, 11);
	dell_smbios_send_request(4, 11);
	ret = buffer->output[0];
	ret = buffer->output[0];
	dell_smbios_release_buffer();
	dell_smbios_release_buffer();


@@ -1326,7 +1326,7 @@ static int kbd_set_token_bit(u8 bit)
	dell_smbios_get_buffer();
	dell_smbios_get_buffer();
	buffer->input[0] = da_tokens[id].location;
	buffer->input[0] = da_tokens[id].location;
	buffer->input[1] = da_tokens[id].value;
	buffer->input[1] = da_tokens[id].value;
	dell_smbios_send_request(buffer, 1, 0);
	dell_smbios_send_request(1, 0);
	ret = buffer->output[0];
	ret = buffer->output[0];
	dell_smbios_release_buffer();
	dell_smbios_release_buffer();


@@ -1348,7 +1348,7 @@ static int kbd_get_token_bit(u8 bit)


	dell_smbios_get_buffer();
	dell_smbios_get_buffer();
	buffer->input[0] = da_tokens[id].location;
	buffer->input[0] = da_tokens[id].location;
	dell_smbios_send_request(buffer, 0, 0);
	dell_smbios_send_request(0, 0);
	ret = buffer->output[0];
	ret = buffer->output[0];
	val = buffer->output[1];
	val = buffer->output[1];
	dell_smbios_release_buffer();
	dell_smbios_release_buffer();
@@ -2019,7 +2019,7 @@ static int __init dell_init(void)
	if (token != -1) {
	if (token != -1) {
		dell_smbios_get_buffer();
		dell_smbios_get_buffer();
		buffer->input[0] = token;
		buffer->input[0] = token;
		dell_smbios_send_request(buffer, 0, 2);
		dell_smbios_send_request(0, 2);
		if (buffer->output[0] == 0)
		if (buffer->output[0] == 0)
			max_intensity = buffer->output[3];
			max_intensity = buffer->output[3];
		dell_smbios_release_buffer();
		dell_smbios_release_buffer();
+1 −2
Original line number Original line Diff line number Diff line
@@ -61,8 +61,7 @@ void dell_smbios_release_buffer(void)
EXPORT_SYMBOL_GPL(dell_smbios_release_buffer);
EXPORT_SYMBOL_GPL(dell_smbios_release_buffer);


struct calling_interface_buffer *
struct calling_interface_buffer *
dell_smbios_send_request(struct calling_interface_buffer *buffer,
dell_smbios_send_request(int class, int select)
			 int class, int select)
{
{
	struct smi_cmd command;
	struct smi_cmd command;


+1 −2
Original line number Original line Diff line number Diff line
@@ -42,8 +42,7 @@ void dell_smbios_get_buffer(void);
void dell_smbios_clear_buffer(void);
void dell_smbios_clear_buffer(void);
void dell_smbios_release_buffer(void);
void dell_smbios_release_buffer(void);
struct calling_interface_buffer *
struct calling_interface_buffer *
dell_smbios_send_request(struct calling_interface_buffer *buffer,
dell_smbios_send_request(int class, int select);
			 int class, int select);


int find_token_id(int tokenid);
int find_token_id(int tokenid);
int find_token_location(int tokenid);
int find_token_location(int tokenid);