From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Wu Subject: [PATCH v2 3/4] bochs: convert to drm_dev_register Date: Fri, 7 Sep 2018 00:18:09 +0200 Message-ID: <20180906221810.20170-4-peter@lekensteyn.nl> References: <20180906221810.20170-1-peter@lekensteyn.nl> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.lekensteyn.nl (mail.lekensteyn.nl [IPv6:2a02:2308::360:1:25]) by gabe.freedesktop.org (Postfix) with ESMTPS id 22D1C6E781 for ; Thu, 6 Sep 2018 22:18:18 +0000 (UTC) In-Reply-To: <20180906221810.20170-1-peter@lekensteyn.nl> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Gerd Hoffmann Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org List-Id: dri-devel@lists.freedesktop.org VGhlIGRybV9nZXRfcGNpX2RldiBBUEkgaXMgZGVwcmVjYXRlZCwgcmVwbGFjZSBpdCBieSBkcm1f ZGV2X3JlZ2lzdGVyLgoKU2lnbmVkLW9mZi1ieTogUGV0ZXIgV3UgPHBldGVyQGxla2Vuc3RleW4u bmw+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2JvY2hzL2JvY2hzLmggICAgIHwgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS9ib2Nocy9ib2Noc19kcnYuYyB8IDM0ICsrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9ib2Nocy9ib2Noc19ody5jICB8ICAyICstCiAzIGZp bGVzIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2JvY2hzL2JvY2hzLmggYi9kcml2ZXJzL2dwdS9kcm0vYm9jaHMv Ym9jaHMuaAppbmRleCA4NTE0YTg0ZmJkYmUuLmI0ZjZiYjUyMTkwMCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2JvY2hzL2JvY2hzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2JvY2hzL2Jv Y2hzLmgKQEAgLTExNyw3ICsxMTcsNyBAQCBzdGF0aWMgaW5saW5lIHU2NCBib2Noc19ib19tbWFw X29mZnNldChzdHJ1Y3QgYm9jaHNfYm8gKmJvKQogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCiAvKiBi b2Noc19ody5jICovCi1pbnQgYm9jaHNfaHdfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1 aW50MzJfdCBmbGFncyk7CitpbnQgYm9jaHNfaHdfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KTsKIHZvaWQgYm9jaHNfaHdfZmluaShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIAogdm9pZCBi b2Noc19od19zZXRtb2RlKHN0cnVjdCBib2Noc19kZXZpY2UgKmJvY2hzLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2JvY2hzL2JvY2hzX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2JvY2hz L2JvY2hzX2Rydi5jCmluZGV4IDBlNzlkOWFjZjg5ZS4uZjNkZDY2YWU5OTBhIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vYm9jaHMvYm9jaHNfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2JvY2hzL2JvY2hzX2Rydi5jCkBAIC0zNSw3ICszNSw3IEBAIHN0YXRpYyB2b2lkIGJvY2hzX3Vu bG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWRldi0+ZGV2X3ByaXZhdGUgPSBOVUxMOwog fQogCi1zdGF0aWMgaW50IGJvY2hzX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWdu ZWQgbG9uZyBmbGFncykKK3N0YXRpYyBpbnQgYm9jaHNfbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQogewogCXN0cnVjdCBib2Noc19kZXZpY2UgKmJvY2hzOwogCWludCByZXQ7CkBAIC00Niw3 ICs0Niw3IEBAIHN0YXRpYyBpbnQgYm9jaHNfbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1 bnNpZ25lZCBsb25nIGZsYWdzKQogCWRldi0+ZGV2X3ByaXZhdGUgPSBib2NoczsKIAlib2Nocy0+ ZGV2ID0gZGV2OwogCi0JcmV0ID0gYm9jaHNfaHdfaW5pdChkZXYsIGZsYWdzKTsKKwlyZXQgPSBi b2Noc19od19pbml0KGRldik7CiAJaWYgKHJldCkKIAkJZ290byBlcnI7CiAKQEAgLTgyLDggKzgy LDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgYm9jaHNfZm9wcyA9IHsK IAogc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVyIGJvY2hzX2RyaXZlciA9IHsKIAkuZHJpdmVyX2Zl YXR1cmVzCT0gRFJJVkVSX0dFTSB8IERSSVZFUl9NT0RFU0VULAotCS5sb2FkCQkJPSBib2Noc19s b2FkLAotCS51bmxvYWQJCQk9IGJvY2hzX3VubG9hZCwKIAkuZm9wcwkJCT0gJmJvY2hzX2ZvcHMs CiAJLm5hbWUJCQk9ICJib2Nocy1kcm0iLAogCS5kZXNjCQkJPSAiYm9jaHMgZGlzcGkgdmdhIGlu dGVyZmFjZSAocWVtdSBzdGR2Z2EpIiwKQEAgLTEzOCw2ICsxMzYsNyBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGRldl9wbV9vcHMgYm9jaHNfcG1fb3BzID0gewogc3RhdGljIGludCBib2Noc19wY2lf cHJvYmUoc3RydWN0IHBjaV9kZXYgKnBkZXYsCiAJCQkgICBjb25zdCBzdHJ1Y3QgcGNpX2Rldmlj ZV9pZCAqZW50KQogeworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXY7CiAJdW5zaWduZWQgbG9uZyBm YnNpemU7CiAJaW50IHJldDsKIApAQCAtMTUxLDE0ICsxNTAsMzcgQEAgc3RhdGljIGludCBib2No c19wY2lfcHJvYmUoc3RydWN0IHBjaV9kZXYgKnBkZXYsCiAJaWYgKHJldCkKIAkJcmV0dXJuIHJl dDsKIAotCXJldHVybiBkcm1fZ2V0X3BjaV9kZXYocGRldiwgZW50LCAmYm9jaHNfZHJpdmVyKTsK KwlkZXYgPSBkcm1fZGV2X2FsbG9jKCZib2Noc19kcml2ZXIsICZwZGV2LT5kZXYpOworCWlmIChJ U19FUlIoZGV2KSkKKwkJcmV0dXJuIFBUUl9FUlIoZGV2KTsKKworCWRldi0+cGRldiA9IHBkZXY7 CisJcGNpX3NldF9kcnZkYXRhKHBkZXYsIGRldik7CisKKwlyZXQgPSBib2Noc19sb2FkKGRldik7 CisJaWYgKHJldCkKKwkJZ290byBlcnJfZnJlZV9kZXY7CisKKwlyZXQgPSBkcm1fZGV2X3JlZ2lz dGVyKGRldiwgMCk7CisJaWYgKHJldCkKKwkJZ290byBlcnJfdW5sb2FkOworCisJcmV0dXJuIHJl dDsKKworZXJyX3VubG9hZDoKKwlib2Noc191bmxvYWQoZGV2KTsKK2Vycl9mcmVlX2RldjoKKwlk cm1fZGV2X3B1dChkZXYpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyB2b2lkIGJvY2hzX3Bj aV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IHBjaV9nZXRfZHJ2ZGF0YShwZGV2KTsKIAotCWRybV9wdXRfZGV2KGRldik7CisJZHJtX2Rl dl91bnJlZ2lzdGVyKGRldik7CisJYm9jaHNfdW5sb2FkKGRldik7CisJZHJtX2Rldl9wdXQoZGV2 KTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIGJvY2hzX3BjaV90Ymxb XSA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ib2Nocy9ib2Noc19ody5jIGIvZHJp dmVycy9ncHUvZHJtL2JvY2hzL2JvY2hzX2h3LmMKaW5kZXggYTM5YjAzNDNjMTk3Li4xNmU0ZjFj YWNjY2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ib2Nocy9ib2Noc19ody5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9ib2Nocy9ib2Noc19ody5jCkBAIC00Nyw3ICs0Nyw3IEBAIHN0YXRp YyB2b2lkIGJvY2hzX2Rpc3BpX3dyaXRlKHN0cnVjdCBib2Noc19kZXZpY2UgKmJvY2hzLCB1MTYg cmVnLCB1MTYgdmFsKQogCX0KIH0KIAotaW50IGJvY2hzX2h3X2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdWludDMyX3QgZmxhZ3MpCitpbnQgYm9jaHNfaHdfaW5pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQogewogCXN0cnVjdCBib2Noc19kZXZpY2UgKmJvY2hzID0gZGV2LT5kZXZfcHJp dmF0ZTsKIAlzdHJ1Y3QgcGNpX2RldiAqcGRldiA9IGRldi0+cGRldjsKLS0gCjIuMTguMAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4F5E7C433F5 for ; Thu, 6 Sep 2018 22:18:32 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 08FD1206BA for ; Thu, 6 Sep 2018 22:18:32 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lekensteyn.nl header.i=@lekensteyn.nl header.b="YojAra6R" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 08FD1206BA Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lekensteyn.nl Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728450AbeIGCzy (ORCPT ); Thu, 6 Sep 2018 22:55:54 -0400 Received: from lekensteyn.nl ([178.21.112.251]:43867 "EHLO lekensteyn.nl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728232AbeIGCzy (ORCPT ); Thu, 6 Sep 2018 22:55:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lekensteyn.nl; s=s2048-2015-q1; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From; bh=lSXHIIm08sX+DLOT0s3Q3Stk+e7eJ/LJ+4f5flmRGBo=; b=YojAra6RWDf/XVI3uH5Y+X3loSnaM9VWpMXhT8tT1ODF/Fcyf8y3VfcQSwhAoap1h79sccwGXZqp9lSOv9pfDp0Hjac0GNl8iR8+sd96/HAKnHLoEObMi2lEQzncEKe9vdofq3fYnGbHISu3bGvQ1sJfmBtA4TuymNmoHgsk+1vTB/P7qAb4cY66QeO1aYvVtlcyS+ctoh2qoFzFgDAntMAgkDFIqzOqHead978X1m65kwDJScIPljHZapPLKD2/Z071jIda/zq7h8zGuSMcEcwJTiUzebmmldFyYZlye/G5TaLeRkYAOuA3LZJthMHStbRdE26fvpnu3iE1kC/gFg==; Received: by lekensteyn.nl with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1fy2bN-0005Us-V4; Fri, 07 Sep 2018 00:18:14 +0200 From: Peter Wu To: Gerd Hoffmann Cc: virtualization@lists.linux-foundation.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 3/4] bochs: convert to drm_dev_register Date: Fri, 7 Sep 2018 00:18:09 +0200 Message-Id: <20180906221810.20170-4-peter@lekensteyn.nl> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180906221810.20170-1-peter@lekensteyn.nl> References: <20180906221810.20170-1-peter@lekensteyn.nl> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The drm_get_pci_dev API is deprecated, replace it by drm_dev_register. Signed-off-by: Peter Wu --- drivers/gpu/drm/bochs/bochs.h | 2 +- drivers/gpu/drm/bochs/bochs_drv.c | 34 +++++++++++++++++++++++++------ drivers/gpu/drm/bochs/bochs_hw.c | 2 +- 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/bochs/bochs.h b/drivers/gpu/drm/bochs/bochs.h index 8514a84fbdbe..b4f6bb521900 100644 --- a/drivers/gpu/drm/bochs/bochs.h +++ b/drivers/gpu/drm/bochs/bochs.h @@ -117,7 +117,7 @@ static inline u64 bochs_bo_mmap_offset(struct bochs_bo *bo) /* ---------------------------------------------------------------------- */ /* bochs_hw.c */ -int bochs_hw_init(struct drm_device *dev, uint32_t flags); +int bochs_hw_init(struct drm_device *dev); void bochs_hw_fini(struct drm_device *dev); void bochs_hw_setmode(struct bochs_device *bochs, diff --git a/drivers/gpu/drm/bochs/bochs_drv.c b/drivers/gpu/drm/bochs/bochs_drv.c index 0e79d9acf89e..f3dd66ae990a 100644 --- a/drivers/gpu/drm/bochs/bochs_drv.c +++ b/drivers/gpu/drm/bochs/bochs_drv.c @@ -35,7 +35,7 @@ static void bochs_unload(struct drm_device *dev) dev->dev_private = NULL; } -static int bochs_load(struct drm_device *dev, unsigned long flags) +static int bochs_load(struct drm_device *dev) { struct bochs_device *bochs; int ret; @@ -46,7 +46,7 @@ static int bochs_load(struct drm_device *dev, unsigned long flags) dev->dev_private = bochs; bochs->dev = dev; - ret = bochs_hw_init(dev, flags); + ret = bochs_hw_init(dev); if (ret) goto err; @@ -82,8 +82,6 @@ static const struct file_operations bochs_fops = { static struct drm_driver bochs_driver = { .driver_features = DRIVER_GEM | DRIVER_MODESET, - .load = bochs_load, - .unload = bochs_unload, .fops = &bochs_fops, .name = "bochs-drm", .desc = "bochs dispi vga interface (qemu stdvga)", @@ -138,6 +136,7 @@ static const struct dev_pm_ops bochs_pm_ops = { static int bochs_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { + struct drm_device *dev; unsigned long fbsize; int ret; @@ -151,14 +150,37 @@ static int bochs_pci_probe(struct pci_dev *pdev, if (ret) return ret; - return drm_get_pci_dev(pdev, ent, &bochs_driver); + dev = drm_dev_alloc(&bochs_driver, &pdev->dev); + if (IS_ERR(dev)) + return PTR_ERR(dev); + + dev->pdev = pdev; + pci_set_drvdata(pdev, dev); + + ret = bochs_load(dev); + if (ret) + goto err_free_dev; + + ret = drm_dev_register(dev, 0); + if (ret) + goto err_unload; + + return ret; + +err_unload: + bochs_unload(dev); +err_free_dev: + drm_dev_put(dev); + return ret; } static void bochs_pci_remove(struct pci_dev *pdev) { struct drm_device *dev = pci_get_drvdata(pdev); - drm_put_dev(dev); + drm_dev_unregister(dev); + bochs_unload(dev); + drm_dev_put(dev); } static const struct pci_device_id bochs_pci_tbl[] = { diff --git a/drivers/gpu/drm/bochs/bochs_hw.c b/drivers/gpu/drm/bochs/bochs_hw.c index a39b0343c197..16e4f1caccca 100644 --- a/drivers/gpu/drm/bochs/bochs_hw.c +++ b/drivers/gpu/drm/bochs/bochs_hw.c @@ -47,7 +47,7 @@ static void bochs_dispi_write(struct bochs_device *bochs, u16 reg, u16 val) } } -int bochs_hw_init(struct drm_device *dev, uint32_t flags) +int bochs_hw_init(struct drm_device *dev) { struct bochs_device *bochs = dev->dev_private; struct pci_dev *pdev = dev->pdev; -- 2.18.0