Lines Matching refs:smbus_cmi

79 	struct acpi_smbus_cmi *smbus_cmi = adap->algo_data;
157 method = smbus_cmi->methods->mt_sbr;
161 method = smbus_cmi->methods->mt_sbw;
173 status = acpi_evaluate_object(smbus_cmi->handle, method, &input,
176 acpi_handle_err(smbus_cmi->handle,
185 acpi_handle_err(smbus_cmi->handle, "Invalid argument type\n");
190 acpi_handle_err(smbus_cmi->handle, "Invalid argument type\n");
196 acpi_handle_debug(smbus_cmi->handle, "%s return status: %i\n", method,
222 acpi_handle_err(smbus_cmi->handle, "Invalid argument type\n");
234 acpi_handle_err(smbus_cmi->handle,
246 acpi_handle_err(smbus_cmi->handle,
266 struct acpi_smbus_cmi *smbus_cmi = adapter->algo_data;
269 ret = smbus_cmi->cap_read | smbus_cmi->cap_write ?
272 ret |= smbus_cmi->cap_read ?
278 ret |= smbus_cmi->cap_write ?
293 static int acpi_smbus_cmi_add_cap(struct acpi_smbus_cmi *smbus_cmi,
297 struct acpi_handle *handle = smbus_cmi->handle;
301 if (!strcmp(name, smbus_cmi->methods->mt_info)) {
302 status = acpi_evaluate_object(smbus_cmi->handle,
303 smbus_cmi->methods->mt_info,
307 smbus_cmi->methods->mt_info, status);
329 smbus_cmi->cap_info = 1;
330 } else if (!strcmp(name, smbus_cmi->methods->mt_sbr))
331 smbus_cmi->cap_read = 1;
332 else if (!strcmp(name, smbus_cmi->methods->mt_sbw))
333 smbus_cmi->cap_write = 1;
345 struct acpi_smbus_cmi *smbus_cmi = context;
351 acpi_smbus_cmi_add_cap(smbus_cmi, node_name);
359 struct acpi_smbus_cmi *smbus_cmi;
362 smbus_cmi = kzalloc(sizeof(struct acpi_smbus_cmi), GFP_KERNEL);
363 if (!smbus_cmi)
366 smbus_cmi->handle = ACPI_HANDLE(dev);
367 smbus_cmi->methods = device_get_match_data(dev);
369 platform_set_drvdata(device, smbus_cmi);
371 smbus_cmi->cap_info = 0;
372 smbus_cmi->cap_read = 0;
373 smbus_cmi->cap_write = 0;
375 acpi_walk_namespace(ACPI_TYPE_METHOD, smbus_cmi->handle, 1,
376 acpi_smbus_cmi_query_methods, NULL, smbus_cmi, NULL);
378 if (smbus_cmi->cap_info == 0) {
383 snprintf(smbus_cmi->adapter.name, sizeof(smbus_cmi->adapter.name),
385 smbus_cmi->adapter.owner = THIS_MODULE;
386 smbus_cmi->adapter.algo = &acpi_smbus_cmi_algorithm;
387 smbus_cmi->adapter.algo_data = smbus_cmi;
388 smbus_cmi->adapter.class = I2C_CLASS_HWMON | I2C_CLASS_SPD;
389 smbus_cmi->adapter.dev.parent = &device->dev;
391 ret = i2c_add_adapter(&smbus_cmi->adapter);
400 kfree(smbus_cmi);
406 struct acpi_smbus_cmi *smbus_cmi = platform_get_drvdata(device);
408 i2c_del_adapter(&smbus_cmi->adapter);
409 kfree(smbus_cmi);
416 .name = "smbus_cmi",