Lines Matching defs:wdev
37 struct wmi_device *wdev;
51 static int run_smbios_call(struct wmi_device *wdev)
59 priv = dev_get_drvdata(&wdev->dev);
63 dev_dbg(&wdev->dev, "evaluating: %u/%u [%x,%x,%x,%x]\n",
68 status = wmidev_evaluate_method(wdev, 0, 1, &input, &output);
73 dev_dbg(&wdev->dev, "received type: %d\n", obj->type);
75 dev_dbg(&wdev->dev, "SMBIOS call failed: %llu\n",
81 dev_dbg(&wdev->dev, "result: [%08x,%08x,%08x,%08x]\n",
108 ret = run_smbios_call(priv->wdev);
148 dev_err(&priv->wdev->dev, "Buffer %llu is bigger than required %llu\n",
154 if (dell_smbios_call_filter(&priv->wdev->dev, &priv->buf->std)) {
155 dev_err(&priv->wdev->dev, "Invalid call %d/%d:%8x\n",
163 ret = run_smbios_call(priv->wdev);
217 return devm_add_action_or_reset(&priv->wdev->dev, dell_smbios_wmi_unregister_chardev,
221 static int dell_smbios_wmi_probe(struct wmi_device *wdev, const void *context)
232 priv = devm_kzalloc(&wdev->dev, sizeof(struct wmi_smbios_priv),
237 priv->wdev = wdev;
238 dev_set_drvdata(&wdev->dev, priv);
251 dev_warn(&wdev->dev,
259 priv->buf = (void *)devm_get_free_pages(&wdev->dev, GFP_KERNEL, count);
268 wdev->dev.id = 1;
269 ret = dell_smbios_register_device(&wdev->dev, &dell_smbios_wmi_call);
280 static void dell_smbios_wmi_remove(struct wmi_device *wdev)
282 struct wmi_smbios_priv *priv = dev_get_drvdata(&wdev->dev);
288 dell_smbios_unregister_device(&wdev->dev);