Lines Matching refs:pdev
71 static void dw_i2c_acpi_params(struct platform_device *pdev, char method[], in dw_i2c_acpi_params() argument
75 acpi_handle handle = ACPI_HANDLE(&pdev->dev); in dw_i2c_acpi_params()
97 static int dw_i2c_acpi_configure(struct platform_device *pdev) in dw_i2c_acpi_configure() argument
99 struct dw_i2c_dev *dev = platform_get_drvdata(pdev); in dw_i2c_acpi_configure()
110 dw_i2c_acpi_params(pdev, "SSCN", &dev->ss_hcnt, &dev->ss_lcnt, NULL); in dw_i2c_acpi_configure()
111 dw_i2c_acpi_params(pdev, "FMCN", &dev->fs_hcnt, &dev->fs_lcnt, in dw_i2c_acpi_configure()
119 id = acpi_match_device(pdev->dev.driver->acpi_match_table, &pdev->dev); in dw_i2c_acpi_configure()
121 clk_register_fixed_rate(&pdev->dev, dev_name(&pdev->dev), NULL, in dw_i2c_acpi_configure()
127 static void dw_i2c_acpi_unconfigure(struct platform_device *pdev) in dw_i2c_acpi_unconfigure() argument
129 struct dw_i2c_dev *dev = platform_get_drvdata(pdev); in dw_i2c_acpi_unconfigure()
132 id = acpi_match_device(pdev->dev.driver->acpi_match_table, &pdev->dev); in dw_i2c_acpi_unconfigure()
149 static inline int dw_i2c_acpi_configure(struct platform_device *pdev) in dw_i2c_acpi_configure() argument
153 static inline void dw_i2c_acpi_unconfigure(struct platform_device *pdev) { } in dw_i2c_acpi_unconfigure() argument
156 static int dw_i2c_probe(struct platform_device *pdev) in dw_i2c_probe() argument
165 irq = platform_get_irq(pdev, 0); in dw_i2c_probe()
169 dev = devm_kzalloc(&pdev->dev, sizeof(struct dw_i2c_dev), GFP_KERNEL); in dw_i2c_probe()
173 mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); in dw_i2c_probe()
174 dev->base = devm_ioremap_resource(&pdev->dev, mem); in dw_i2c_probe()
180 dev->dev = &pdev->dev; in dw_i2c_probe()
182 platform_set_drvdata(pdev, dev); in dw_i2c_probe()
187 if (has_acpi_companion(&pdev->dev)) { in dw_i2c_probe()
188 dw_i2c_acpi_configure(pdev); in dw_i2c_probe()
189 } else if (pdev->dev.of_node) { in dw_i2c_probe()
190 of_property_read_u32(pdev->dev.of_node, in dw_i2c_probe()
193 of_property_read_u32(pdev->dev.of_node, in dw_i2c_probe()
196 of_property_read_u32(pdev->dev.of_node, in dw_i2c_probe()
200 of_property_read_u32(pdev->dev.of_node, "clock-frequency", in dw_i2c_probe()
207 dev_err(&pdev->dev, "Only 100kHz and 400kHz supported"); in dw_i2c_probe()
211 pdata = dev_get_platdata(&pdev->dev); in dw_i2c_probe()
234 dev->clk = devm_clk_get(&pdev->dev, NULL); in dw_i2c_probe()
252 dev->adapter.nr = pdev->id; in dw_i2c_probe()
259 r = devm_request_irq(&pdev->dev, dev->irq, i2c_dw_isr, IRQF_SHARED, in dw_i2c_probe()
260 pdev->name, dev); in dw_i2c_probe()
262 dev_err(&pdev->dev, "failure requesting irq %i\n", dev->irq); in dw_i2c_probe()
273 adap->dev.parent = &pdev->dev; in dw_i2c_probe()
274 adap->dev.of_node = pdev->dev.of_node; in dw_i2c_probe()
277 pm_runtime_forbid(&pdev->dev); in dw_i2c_probe()
279 pm_runtime_set_autosuspend_delay(&pdev->dev, 1000); in dw_i2c_probe()
280 pm_runtime_use_autosuspend(&pdev->dev); in dw_i2c_probe()
281 pm_runtime_set_active(&pdev->dev); in dw_i2c_probe()
282 pm_runtime_enable(&pdev->dev); in dw_i2c_probe()
287 dev_err(&pdev->dev, "failure adding adapter\n"); in dw_i2c_probe()
288 pm_runtime_disable(&pdev->dev); in dw_i2c_probe()
295 static int dw_i2c_remove(struct platform_device *pdev) in dw_i2c_remove() argument
297 struct dw_i2c_dev *dev = platform_get_drvdata(pdev); in dw_i2c_remove()
299 pm_runtime_get_sync(&pdev->dev); in dw_i2c_remove()
305 pm_runtime_put(&pdev->dev); in dw_i2c_remove()
306 pm_runtime_disable(&pdev->dev); in dw_i2c_remove()
308 if (has_acpi_companion(&pdev->dev)) in dw_i2c_remove()
309 dw_i2c_acpi_unconfigure(pdev); in dw_i2c_remove()
325 struct platform_device *pdev = to_platform_device(dev); in dw_i2c_suspend() local
326 struct dw_i2c_dev *i_dev = platform_get_drvdata(pdev); in dw_i2c_suspend()
336 struct platform_device *pdev = to_platform_device(dev); in dw_i2c_resume() local
337 struct dw_i2c_dev *i_dev = platform_get_drvdata(pdev); in dw_i2c_resume()