Message ID | 201207112123.31502.rjw@sisk.pl (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
QWNrZWQtYnk6IFNvbmljIFpoYW5nIDxzb25pYy56aGFuZ0BhbmFsb2cuY29tPg0KDQo+LS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj5Gcm9tOiBSYWZhZWwgSi4gV3lzb2NraSBbbWFpbHRvOnJq d0BzaXNrLnBsXQ0KPlNlbnQ6IFRodXJzZGF5LCBKdWx5IDEyLCAyMDEyIDM6MjQgQU0NCj5Ubzog TEtNTA0KPkNjOiBMaW51eCBQTSBsaXN0OyBMaW51cyBXYWxsZWlqOyBsaW51eC1pMmNAdmdlci5r ZXJuZWwub3JnOyBaaGFuZywgU29uaWM7IEplYW4NCj5EZWx2YXJlOyBCZW4gRG9va3M7IFdvbGZy YW0gU2FuZzsgUGV0ZXIgS29yc2dhYXJkOyBHdWFuIFh1ZXRhbzsgVml0YWx5IFdvb2w7DQo+Q29s aW4gQ3Jvc3M7IFN0ZXBoZW4gV2FycmVuDQo+U3ViamVjdDogW1BBVENIIDIvN10gaTJjLWJmaW4t dHdpOiBVc2Ugc3RydWN0IGRldl9wbV9vcHMgZm9yIHBvd2VyIG1hbmFnZW1lbnQNCj4NCj5Gcm9t OiBSYWZhZWwgSi4gV3lzb2NraSA8cmp3QHNpc2sucGw+DQo+DQo+TWFrZSB0aGUgQmxhY2tmaW4g T24tQ2hpcCBUd28gV2lyZSBJbnRlcmZhY2UgZHJpdmVyIGRlZmluZSBpdHMgUE0NCj5jYWxsYmFj a3MgdGhyb3VnaCBhIHN0cnVjdCBkZXZfcG1fb3BzIG9iamVjdCByYXRoZXIgdGhhbiBieSB1c2lu Zw0KPmxlZ2FjeSBQTSBob29rcyBpbiBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyLg0KPg0KPlNpZ25l ZC1vZmYtYnk6IFJhZmFlbCBKLiBXeXNvY2tpIDxyandAc2lzay5wbD4NCj4tLS0NCj4gZHJpdmVy cy9pMmMvYnVzc2VzL2kyYy1iZmluLXR3aS5jIHwgICAxOCArKysrKysrKysrLS0tLS0tLS0NCj4g MSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pDQo+DQo+SW5k ZXg6IGxpbnV4L2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYmZpbi10d2kuYw0KPj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj49PT09 PT0NCj4tLS0gbGludXgub3JpZy9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWJmaW4tdHdpLmMNCj4r KysgbGludXgvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1iZmluLXR3aS5jDQo+QEAgLTYxMSw5ICs2 MTEsOSBAQCBzdGF0aWMgc3RydWN0IGkyY19hbGdvcml0aG0gYmZpbl90d2lfYWxnDQo+ICAgICAg IC5mdW5jdGlvbmFsaXR5ID0gYmZpbl90d2lfZnVuY3Rpb25hbGl0eSwNCj4gfTsNCj4NCj4tc3Rh dGljIGludCBpMmNfYmZpbl90d2lfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 LCBwbV9tZXNzYWdlX3QNCj5zdGF0ZSkNCj4rc3RhdGljIGludCBpMmNfYmZpbl90d2lfc3VzcGVu ZChzdHJ1Y3QgZGV2aWNlICpkZXYpDQo+IHsNCj4tICAgICAgc3RydWN0IGJmaW5fdHdpX2lmYWNl ICppZmFjZSA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOw0KPisgICAgICBzdHJ1Y3QgYmZp bl90d2lfaWZhY2UgKmlmYWNlID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+DQo+ICAgICAgIGlm YWNlLT5zYXZlZF9jbGtkaXYgPSByZWFkX0NMS0RJVihpZmFjZSk7DQo+ICAgICAgIGlmYWNlLT5z YXZlZF9jb250cm9sID0gcmVhZF9DT05UUk9MKGlmYWNlKTsNCj5AQCAtNjI2LDE0ICs2MjYsMTQg QEAgc3RhdGljIGludCBpMmNfYmZpbl90d2lfc3VzcGVuZChzdHJ1Y3QgcA0KPiAgICAgICByZXR1 cm4gMDsNCj4gfQ0KPg0KPi1zdGF0aWMgaW50IGkyY19iZmluX3R3aV9yZXN1bWUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikNCj4rc3RhdGljIGludCBpMmNfYmZpbl90d2lfcmVzdW1lKHN0 cnVjdCBkZXZpY2UgKmRldikNCj4gew0KPi0gICAgICBzdHJ1Y3QgYmZpbl90d2lfaWZhY2UgKmlm YWNlID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7DQo+KyAgICAgIHN0cnVjdCBiZmluX3R3 aV9pZmFjZSAqaWZhY2UgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4NCj4gICAgICAgaW50IHJj ID0gcmVxdWVzdF9pcnEoaWZhY2UtPmlycSwgYmZpbl90d2lfaW50ZXJydXB0X2VudHJ5LA0KPi0g ICAgICAgICAgICAgIDAsIHBkZXYtPm5hbWUsIGlmYWNlKTsNCj4rICAgICAgICAgICAgICAwLCB0 b19wbGF0Zm9ybV9kZXZpY2UoZGV2KS0+bmFtZSwgaWZhY2UpOw0KPiAgICAgICBpZiAocmMpIHsN Cj4tICAgICAgICAgICAgICBkZXZfZXJyKCZwZGV2LT5kZXYsICJDYW4ndCBnZXQgSVJRICVkICFc biIsIGlmYWNlLT5pcnEpOw0KPisgICAgICAgICAgICAgIGRldl9lcnIoZGV2LCAiQ2FuJ3QgZ2V0 IElSUSAlZCAhXG4iLCBpZmFjZS0+aXJxKTsNCj4gICAgICAgICAgICAgICByZXR1cm4gLUVOT0RF VjsNCj4gICAgICAgfQ0KPg0KPkBAIC02NDYsNiArNjQ2LDkgQEAgc3RhdGljIGludCBpMmNfYmZp bl90d2lfcmVzdW1lKHN0cnVjdCBwbA0KPiAgICAgICByZXR1cm4gMDsNCj4gfQ0KPg0KPitzdGF0 aWMgU0lNUExFX0RFVl9QTV9PUFMoaTJjX2JmaW5fdHdpX3BtLA0KPisgICAgICAgICAgICAgICAg ICAgICAgIGkyY19iZmluX3R3aV9zdXNwZW5kLCBpMmNfYmZpbl90d2lfcmVzdW1lKTsNCj4rDQo+ IHN0YXRpYyBpbnQgaTJjX2JmaW5fdHdpX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYpDQo+IHsNCj4gICAgICAgc3RydWN0IGJmaW5fdHdpX2lmYWNlICppZmFjZTsNCj5AQCAtNzcw LDExICs3NzMsMTAgQEAgc3RhdGljIGludCBpMmNfYmZpbl90d2lfcmVtb3ZlKHN0cnVjdCBwbA0K PiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBpMmNfYmZpbl90d2lfZHJpdmVyID0gew0K PiAgICAgICAucHJvYmUgICAgICAgICAgPSBpMmNfYmZpbl90d2lfcHJvYmUsDQo+ICAgICAgIC5y ZW1vdmUgICAgICAgICA9IGkyY19iZmluX3R3aV9yZW1vdmUsDQo+LSAgICAgIC5zdXNwZW5kICAg ICAgICA9IGkyY19iZmluX3R3aV9zdXNwZW5kLA0KPi0gICAgICAucmVzdW1lICAgICAgICAgPSBp MmNfYmZpbl90d2lfcmVzdW1lLA0KPiAgICAgICAuZHJpdmVyICAgICAgICAgPSB7DQo+ICAgICAg ICAgICAgICAgLm5hbWUgICA9ICJpMmMtYmZpbi10d2kiLA0KPiAgICAgICAgICAgICAgIC5vd25l ciAgPSBUSElTX01PRFVMRSwNCj4rICAgICAgICAgICAgICAucG0gICAgID0gJmkyY19iZmluX3R3 aV9wbSwNCj4gICAgICAgfSwNCj4gfTsNCj4NCj4NCg0K -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Index: linux/drivers/i2c/busses/i2c-bfin-twi.c =================================================================== --- linux.orig/drivers/i2c/busses/i2c-bfin-twi.c +++ linux/drivers/i2c/busses/i2c-bfin-twi.c @@ -611,9 +611,9 @@ static struct i2c_algorithm bfin_twi_alg .functionality = bfin_twi_functionality, }; -static int i2c_bfin_twi_suspend(struct platform_device *pdev, pm_message_t state) +static int i2c_bfin_twi_suspend(struct device *dev) { - struct bfin_twi_iface *iface = platform_get_drvdata(pdev); + struct bfin_twi_iface *iface = dev_get_drvdata(dev); iface->saved_clkdiv = read_CLKDIV(iface); iface->saved_control = read_CONTROL(iface); @@ -626,14 +626,14 @@ static int i2c_bfin_twi_suspend(struct p return 0; } -static int i2c_bfin_twi_resume(struct platform_device *pdev) +static int i2c_bfin_twi_resume(struct device *dev) { - struct bfin_twi_iface *iface = platform_get_drvdata(pdev); + struct bfin_twi_iface *iface = dev_get_drvdata(dev); int rc = request_irq(iface->irq, bfin_twi_interrupt_entry, - 0, pdev->name, iface); + 0, to_platform_device(dev)->name, iface); if (rc) { - dev_err(&pdev->dev, "Can't get IRQ %d !\n", iface->irq); + dev_err(dev, "Can't get IRQ %d !\n", iface->irq); return -ENODEV; } @@ -646,6 +646,9 @@ static int i2c_bfin_twi_resume(struct pl return 0; } +static SIMPLE_DEV_PM_OPS(i2c_bfin_twi_pm, + i2c_bfin_twi_suspend, i2c_bfin_twi_resume); + static int i2c_bfin_twi_probe(struct platform_device *pdev) { struct bfin_twi_iface *iface; @@ -770,11 +773,10 @@ static int i2c_bfin_twi_remove(struct pl static struct platform_driver i2c_bfin_twi_driver = { .probe = i2c_bfin_twi_probe, .remove = i2c_bfin_twi_remove, - .suspend = i2c_bfin_twi_suspend, - .resume = i2c_bfin_twi_resume, .driver = { .name = "i2c-bfin-twi", .owner = THIS_MODULE, + .pm = &i2c_bfin_twi_pm, }, };