From: kernel test robot <lkp@intel.com>
To: Stephen Boyd <swboyd@chromium.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org,
Daniel Vetter <daniel.vetter@ffwll.ch>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Rob Clark <robdclark@gmail.com>,
Russell King <rmk+kernel@arm.linux.org.uk>,
Saravana Kannan <saravanak@google.com>
Subject: Re: [PATCH v2 33/34] component: Remove component_master_ops and friends
Date: Thu, 7 Oct 2021 07:19:28 +0800 [thread overview]
Message-ID: <202110070715.67F9LH4p-lkp@intel.com> (raw)
In-Reply-To: <20211006193819.2654854-34-swboyd@chromium.org>
[-- Attachment #1: Type: text/plain, Size: 18697 bytes --]
Hi Stephen,
I love your patch! Yet something to improve:
[auto build test ERROR on e4e737bb5c170df6135a127739a9e6148ee3da82]
url: https://github.com/0day-ci/linux/commits/Stephen-Boyd/component-Make-into-an-aggregate-bus/20211007-034200
base: e4e737bb5c170df6135a127739a9e6148ee3da82
config: hexagon-randconfig-r045-20211006 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project c0039de2953d15815448b4b3c3bafb45607781e0)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/b2ecd8598795ffcc3d4e766c4c4cc93865f3ff33
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Stephen-Boyd/component-Make-into-an-aggregate-bus/20211007-034200
git checkout b2ecd8598795ffcc3d4e766c4c4cc93865f3ff33
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/base/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
>> drivers/base/component.c:412:15: error: no member named 'ops' in 'struct aggregate_device'
return adev->ops->bind(adev->parent);
~~~~ ^
drivers/base/component.c:417:8: error: no member named 'ops' in 'struct aggregate_device'
adev->ops->unbind(adev->parent);
~~~~ ^
drivers/base/component.c:488:13: error: incompatible function pointer types initializing 'void (*)(struct device *)' with an expression of type 'int (struct device *)' [-Werror,-Wincompatible-function-pointer-types]
.remove = aggregate_driver_remove,
^~~~~~~~~~~~~~~~~~~~~~~
drivers/base/component.c:540:8: error: no member named 'ops' in 'struct aggregate_device'
adev->ops = ops;
~~~~ ^
>> drivers/base/component.c:540:14: error: use of undeclared identifier 'ops'
adev->ops = ops;
^
>> drivers/base/component.c:572:50: error: too many arguments to function call, expected 3, have 4
adev = aggregate_device_add(parent, NULL, adrv, match);
~~~~~~~~~~~~~~~~~~~~ ^~~~~
drivers/base/component.c:514:33: note: 'aggregate_device_add' declared here
static struct aggregate_device *aggregate_device_add(struct device *parent,
^
>> drivers/base/component.c:599:34: error: too many arguments to function call, expected single argument 'parent', have 2 arguments
adev = __aggregate_find(parent, NULL);
~~~~~~~~~~~~~~~~ ^~~~
include/linux/stddef.h:8:14: note: expanded from macro 'NULL'
#define NULL ((void *)0)
^~~~~~~~~~~
drivers/base/component.c:493:33: note: '__aggregate_find' declared here
static struct aggregate_device *__aggregate_find(struct device *parent)
^
drivers/base/component.c:645:34: error: too many arguments to function call, expected single argument 'parent', have 2 arguments
adev = __aggregate_find(parent, NULL);
~~~~~~~~~~~~~~~~ ^~~~
include/linux/stddef.h:8:14: note: expanded from macro 'NULL'
#define NULL ((void *)0)
^~~~~~~~~~~
drivers/base/component.c:493:33: note: '__aggregate_find' declared here
static struct aggregate_device *__aggregate_find(struct device *parent)
^
drivers/base/component.c:734:34: error: too many arguments to function call, expected single argument 'parent', have 2 arguments
adev = __aggregate_find(parent, NULL);
~~~~~~~~~~~~~~~~ ^~~~
include/linux/stddef.h:8:14: note: expanded from macro 'NULL'
#define NULL ((void *)0)
^~~~~~~~~~~
drivers/base/component.c:493:33: note: '__aggregate_find' declared here
static struct aggregate_device *__aggregate_find(struct device *parent)
^
9 errors generated.
vim +412 drivers/base/component.c
b7f12127fd97fe Stephen Boyd 2021-10-06 408
b7f12127fd97fe Stephen Boyd 2021-10-06 409 /* TODO: Remove once all aggregate drivers use component_aggregate_register() */
b7f12127fd97fe Stephen Boyd 2021-10-06 410 static int component_probe_bind(struct aggregate_device *adev)
b7f12127fd97fe Stephen Boyd 2021-10-06 411 {
b7f12127fd97fe Stephen Boyd 2021-10-06 @412 return adev->ops->bind(adev->parent);
b7f12127fd97fe Stephen Boyd 2021-10-06 413 }
b7f12127fd97fe Stephen Boyd 2021-10-06 414
b7f12127fd97fe Stephen Boyd 2021-10-06 415 static void component_remove_unbind(struct aggregate_device *adev)
b7f12127fd97fe Stephen Boyd 2021-10-06 416 {
b7f12127fd97fe Stephen Boyd 2021-10-06 417 adev->ops->unbind(adev->parent);
b7f12127fd97fe Stephen Boyd 2021-10-06 418 }
b7f12127fd97fe Stephen Boyd 2021-10-06 419
b7f12127fd97fe Stephen Boyd 2021-10-06 420 static int aggregate_driver_probe(struct device *dev)
b7f12127fd97fe Stephen Boyd 2021-10-06 421 {
b7f12127fd97fe Stephen Boyd 2021-10-06 422 const struct aggregate_driver *adrv = to_aggregate_driver(dev->driver);
b7f12127fd97fe Stephen Boyd 2021-10-06 423 struct aggregate_device *adev = to_aggregate_device(dev);
b7f12127fd97fe Stephen Boyd 2021-10-06 424 bool modern = adrv->probe != component_probe_bind;
b7f12127fd97fe Stephen Boyd 2021-10-06 425 int ret;
b7f12127fd97fe Stephen Boyd 2021-10-06 426
b7f12127fd97fe Stephen Boyd 2021-10-06 427 /* Only do runtime PM when drivers migrate */
b7f12127fd97fe Stephen Boyd 2021-10-06 428 if (modern) {
b7f12127fd97fe Stephen Boyd 2021-10-06 429 pm_runtime_get_noresume(dev);
b7f12127fd97fe Stephen Boyd 2021-10-06 430 pm_runtime_set_active(dev);
b7f12127fd97fe Stephen Boyd 2021-10-06 431 pm_runtime_enable(dev);
b7f12127fd97fe Stephen Boyd 2021-10-06 432 }
b7f12127fd97fe Stephen Boyd 2021-10-06 433
b7f12127fd97fe Stephen Boyd 2021-10-06 434 mutex_lock(&component_mutex);
b7f12127fd97fe Stephen Boyd 2021-10-06 435 if (devres_open_group(adev->parent, NULL, GFP_KERNEL)) {
b7f12127fd97fe Stephen Boyd 2021-10-06 436 ret = adrv->probe(adev);
b7f12127fd97fe Stephen Boyd 2021-10-06 437 if (ret)
b7f12127fd97fe Stephen Boyd 2021-10-06 438 devres_release_group(adev->parent, NULL);
b7f12127fd97fe Stephen Boyd 2021-10-06 439 } else {
b7f12127fd97fe Stephen Boyd 2021-10-06 440 ret = -ENOMEM;
b7f12127fd97fe Stephen Boyd 2021-10-06 441 }
b7f12127fd97fe Stephen Boyd 2021-10-06 442 mutex_unlock(&component_mutex);
b7f12127fd97fe Stephen Boyd 2021-10-06 443
b7f12127fd97fe Stephen Boyd 2021-10-06 444 if (ret && modern) {
b7f12127fd97fe Stephen Boyd 2021-10-06 445 pm_runtime_disable(dev);
b7f12127fd97fe Stephen Boyd 2021-10-06 446 pm_runtime_set_suspended(dev);
b7f12127fd97fe Stephen Boyd 2021-10-06 447 pm_runtime_put_noidle(dev);
b7f12127fd97fe Stephen Boyd 2021-10-06 448 }
b7f12127fd97fe Stephen Boyd 2021-10-06 449
b7f12127fd97fe Stephen Boyd 2021-10-06 450 return ret;
b7f12127fd97fe Stephen Boyd 2021-10-06 451 }
b7f12127fd97fe Stephen Boyd 2021-10-06 452
b7f12127fd97fe Stephen Boyd 2021-10-06 453 static int aggregate_driver_remove(struct device *dev)
b7f12127fd97fe Stephen Boyd 2021-10-06 454 {
b7f12127fd97fe Stephen Boyd 2021-10-06 455 const struct aggregate_driver *adrv = to_aggregate_driver(dev->driver);
b7f12127fd97fe Stephen Boyd 2021-10-06 456 struct aggregate_device *adev = to_aggregate_device(dev);
b7f12127fd97fe Stephen Boyd 2021-10-06 457 bool modern = adrv->remove != component_remove_unbind;
b7f12127fd97fe Stephen Boyd 2021-10-06 458
b7f12127fd97fe Stephen Boyd 2021-10-06 459 /* Only do runtime PM when drivers migrate */
b7f12127fd97fe Stephen Boyd 2021-10-06 460 if (modern)
b7f12127fd97fe Stephen Boyd 2021-10-06 461 pm_runtime_get_sync(dev);
b7f12127fd97fe Stephen Boyd 2021-10-06 462 adrv->remove(to_aggregate_device(dev));
b7f12127fd97fe Stephen Boyd 2021-10-06 463 devres_release_group(adev->parent, NULL);
b7f12127fd97fe Stephen Boyd 2021-10-06 464 if (!modern)
b7f12127fd97fe Stephen Boyd 2021-10-06 465 return 0;
b7f12127fd97fe Stephen Boyd 2021-10-06 466
b7f12127fd97fe Stephen Boyd 2021-10-06 467 pm_runtime_put_noidle(dev);
b7f12127fd97fe Stephen Boyd 2021-10-06 468
b7f12127fd97fe Stephen Boyd 2021-10-06 469 pm_runtime_disable(dev);
b7f12127fd97fe Stephen Boyd 2021-10-06 470 pm_runtime_set_suspended(dev);
b7f12127fd97fe Stephen Boyd 2021-10-06 471 pm_runtime_put_noidle(dev);
b7f12127fd97fe Stephen Boyd 2021-10-06 472
b7f12127fd97fe Stephen Boyd 2021-10-06 473 return 0;
b7f12127fd97fe Stephen Boyd 2021-10-06 474 }
b7f12127fd97fe Stephen Boyd 2021-10-06 475
b7f12127fd97fe Stephen Boyd 2021-10-06 476 static void aggregate_driver_shutdown(struct device *dev)
b7f12127fd97fe Stephen Boyd 2021-10-06 477 {
b7f12127fd97fe Stephen Boyd 2021-10-06 478 const struct aggregate_driver *adrv = to_aggregate_driver(dev->driver);
b7f12127fd97fe Stephen Boyd 2021-10-06 479
b7f12127fd97fe Stephen Boyd 2021-10-06 480 if (adrv && adrv->shutdown)
b7f12127fd97fe Stephen Boyd 2021-10-06 481 adrv->shutdown(to_aggregate_device(dev));
b7f12127fd97fe Stephen Boyd 2021-10-06 482 }
b7f12127fd97fe Stephen Boyd 2021-10-06 483
b7f12127fd97fe Stephen Boyd 2021-10-06 484 static struct bus_type aggregate_bus_type = {
b7f12127fd97fe Stephen Boyd 2021-10-06 485 .name = "aggregate",
b7f12127fd97fe Stephen Boyd 2021-10-06 486 .match = aggregate_device_match,
b7f12127fd97fe Stephen Boyd 2021-10-06 487 .probe = aggregate_driver_probe,
b7f12127fd97fe Stephen Boyd 2021-10-06 488 .remove = aggregate_driver_remove,
b7f12127fd97fe Stephen Boyd 2021-10-06 489 .shutdown = aggregate_driver_shutdown,
b7f12127fd97fe Stephen Boyd 2021-10-06 490 };
b7f12127fd97fe Stephen Boyd 2021-10-06 491
b7f12127fd97fe Stephen Boyd 2021-10-06 492 /* Callers take ownership of return value, should call put_device() */
b2ecd8598795ff Stephen Boyd 2021-10-06 493 static struct aggregate_device *__aggregate_find(struct device *parent)
b7f12127fd97fe Stephen Boyd 2021-10-06 494 {
b7f12127fd97fe Stephen Boyd 2021-10-06 495 struct device *dev;
b7f12127fd97fe Stephen Boyd 2021-10-06 496
b2ecd8598795ff Stephen Boyd 2021-10-06 497 dev = bus_find_device(&aggregate_bus_type, NULL, parent,
b7f12127fd97fe Stephen Boyd 2021-10-06 498 aggregate_bus_find_match);
b7f12127fd97fe Stephen Boyd 2021-10-06 499
b7f12127fd97fe Stephen Boyd 2021-10-06 500 return dev ? to_aggregate_device(dev) : NULL;
b7f12127fd97fe Stephen Boyd 2021-10-06 501 }
b7f12127fd97fe Stephen Boyd 2021-10-06 502
b7f12127fd97fe Stephen Boyd 2021-10-06 503 static int aggregate_driver_register(struct aggregate_driver *adrv)
b7f12127fd97fe Stephen Boyd 2021-10-06 504 {
b7f12127fd97fe Stephen Boyd 2021-10-06 505 adrv->driver.bus = &aggregate_bus_type;
b7f12127fd97fe Stephen Boyd 2021-10-06 506 return driver_register(&adrv->driver);
b7f12127fd97fe Stephen Boyd 2021-10-06 507 }
b7f12127fd97fe Stephen Boyd 2021-10-06 508
b7f12127fd97fe Stephen Boyd 2021-10-06 509 static void aggregate_driver_unregister(struct aggregate_driver *adrv)
b7f12127fd97fe Stephen Boyd 2021-10-06 510 {
b7f12127fd97fe Stephen Boyd 2021-10-06 511 driver_unregister(&adrv->driver);
b7f12127fd97fe Stephen Boyd 2021-10-06 512 }
b7f12127fd97fe Stephen Boyd 2021-10-06 513
b7f12127fd97fe Stephen Boyd 2021-10-06 514 static struct aggregate_device *aggregate_device_add(struct device *parent,
b2ecd8598795ff Stephen Boyd 2021-10-06 515 struct aggregate_driver *adrv,
6955b58254c2bc Russell King 2014-04-19 516 struct component_match *match)
2a41e6070dd7ef Russell King 2014-01-10 517 {
0b7b1dfac42590 Stephen Boyd 2021-10-06 518 struct aggregate_device *adev;
0b7b1dfac42590 Stephen Boyd 2021-10-06 519 int ret, id;
2a41e6070dd7ef Russell King 2014-01-10 520
6955b58254c2bc Russell King 2014-04-19 521 /* Reallocate the match array for its true size */
82769cc671b6dd Stephen Boyd 2021-05-19 522 ret = component_match_realloc(match, match->num);
ce657b1cddf1f8 Russell King 2015-11-17 523 if (ret)
b7f12127fd97fe Stephen Boyd 2021-10-06 524 return ERR_PTR(ret);
6955b58254c2bc Russell King 2014-04-19 525
0b7b1dfac42590 Stephen Boyd 2021-10-06 526 adev = kzalloc(sizeof(*adev), GFP_KERNEL);
0b7b1dfac42590 Stephen Boyd 2021-10-06 527 if (!adev)
b7f12127fd97fe Stephen Boyd 2021-10-06 528 return ERR_PTR(-ENOMEM);
2a41e6070dd7ef Russell King 2014-01-10 529
0b7b1dfac42590 Stephen Boyd 2021-10-06 530 id = ida_alloc(&aggregate_ida, GFP_KERNEL);
0b7b1dfac42590 Stephen Boyd 2021-10-06 531 if (id < 0) {
0b7b1dfac42590 Stephen Boyd 2021-10-06 532 kfree(adev);
b7f12127fd97fe Stephen Boyd 2021-10-06 533 return ERR_PTR(id);
0b7b1dfac42590 Stephen Boyd 2021-10-06 534 }
0b7b1dfac42590 Stephen Boyd 2021-10-06 535
0b7b1dfac42590 Stephen Boyd 2021-10-06 536 adev->id = id;
0b7b1dfac42590 Stephen Boyd 2021-10-06 537 adev->parent = parent;
b7f12127fd97fe Stephen Boyd 2021-10-06 538 adev->dev.bus = &aggregate_bus_type;
b7f12127fd97fe Stephen Boyd 2021-10-06 539 adev->dev.release = aggregate_device_release;
0b7b1dfac42590 Stephen Boyd 2021-10-06 @540 adev->ops = ops;
0b7b1dfac42590 Stephen Boyd 2021-10-06 541 adev->match = match;
b7f12127fd97fe Stephen Boyd 2021-10-06 542 adev->adrv = adrv;
0b7b1dfac42590 Stephen Boyd 2021-10-06 543 dev_set_name(&adev->dev, "aggregate%d", id);
2a41e6070dd7ef Russell King 2014-01-10 544
b7f12127fd97fe Stephen Boyd 2021-10-06 545 ret = device_register(&adev->dev);
b7f12127fd97fe Stephen Boyd 2021-10-06 546 if (ret) {
b7f12127fd97fe Stephen Boyd 2021-10-06 547 put_device(&adev->dev);
b7f12127fd97fe Stephen Boyd 2021-10-06 548 return ERR_PTR(ret);
b7f12127fd97fe Stephen Boyd 2021-10-06 549 }
b7f12127fd97fe Stephen Boyd 2021-10-06 550
0b7b1dfac42590 Stephen Boyd 2021-10-06 551 component_master_debugfs_add(adev);
2a41e6070dd7ef Russell King 2014-01-10 552
b7f12127fd97fe Stephen Boyd 2021-10-06 553 return adev;
b7f12127fd97fe Stephen Boyd 2021-10-06 554 }
2a41e6070dd7ef Russell King 2014-01-10 555
b7f12127fd97fe Stephen Boyd 2021-10-06 556 /**
b7f12127fd97fe Stephen Boyd 2021-10-06 557 * component_aggregate_register - register an aggregate driver
b7f12127fd97fe Stephen Boyd 2021-10-06 558 * @parent: parent device of the aggregate driver
b7f12127fd97fe Stephen Boyd 2021-10-06 559 * @adrv: aggregate driver to register
b7f12127fd97fe Stephen Boyd 2021-10-06 560 *
b7f12127fd97fe Stephen Boyd 2021-10-06 561 * Registers a new aggregate driver consisting of the components added to @adrv.match
b7f12127fd97fe Stephen Boyd 2021-10-06 562 * by calling one of the component_match_add() functions. Once all components in
b7f12127fd97fe Stephen Boyd 2021-10-06 563 * @match are available, the aggregate driver will be assembled by calling
b7f12127fd97fe Stephen Boyd 2021-10-06 564 * &adrv.bind. Must be unregistered by calling component_aggregate_unregister().
b7f12127fd97fe Stephen Boyd 2021-10-06 565 */
b7f12127fd97fe Stephen Boyd 2021-10-06 566 int component_aggregate_register(struct device *parent,
b7f12127fd97fe Stephen Boyd 2021-10-06 567 struct aggregate_driver *adrv, struct component_match *match)
b7f12127fd97fe Stephen Boyd 2021-10-06 568 {
b7f12127fd97fe Stephen Boyd 2021-10-06 569 struct aggregate_device *adev;
b7f12127fd97fe Stephen Boyd 2021-10-06 570 int ret;
b7f12127fd97fe Stephen Boyd 2021-10-06 571
b7f12127fd97fe Stephen Boyd 2021-10-06 @572 adev = aggregate_device_add(parent, NULL, adrv, match);
b7f12127fd97fe Stephen Boyd 2021-10-06 573 if (IS_ERR(adev))
b7f12127fd97fe Stephen Boyd 2021-10-06 574 return PTR_ERR(adev);
b7f12127fd97fe Stephen Boyd 2021-10-06 575
b7f12127fd97fe Stephen Boyd 2021-10-06 576 ret = aggregate_driver_register(adrv);
b7f12127fd97fe Stephen Boyd 2021-10-06 577 if (ret)
b7f12127fd97fe Stephen Boyd 2021-10-06 578 put_device(&adev->dev);
b7f12127fd97fe Stephen Boyd 2021-10-06 579
b7f12127fd97fe Stephen Boyd 2021-10-06 580 return ret;
b7f12127fd97fe Stephen Boyd 2021-10-06 581 }
b7f12127fd97fe Stephen Boyd 2021-10-06 582 EXPORT_SYMBOL_GPL(component_aggregate_register);
b7f12127fd97fe Stephen Boyd 2021-10-06 583
b7f12127fd97fe Stephen Boyd 2021-10-06 584 /**
b7f12127fd97fe Stephen Boyd 2021-10-06 585 * component_aggregate_unregister - unregister an aggregate driver
b7f12127fd97fe Stephen Boyd 2021-10-06 586 * @parent: parent device of the aggregate driver
b7f12127fd97fe Stephen Boyd 2021-10-06 587 * @adrv: registered aggregate driver
b7f12127fd97fe Stephen Boyd 2021-10-06 588 *
b7f12127fd97fe Stephen Boyd 2021-10-06 589 * Unregisters an aggregate driver registered with
b7f12127fd97fe Stephen Boyd 2021-10-06 590 * component_aggregate_register(). If necessary the aggregate driver is first
b7f12127fd97fe Stephen Boyd 2021-10-06 591 * disassembled.
b7f12127fd97fe Stephen Boyd 2021-10-06 592 */
b7f12127fd97fe Stephen Boyd 2021-10-06 593 void component_aggregate_unregister(struct device *parent,
b7f12127fd97fe Stephen Boyd 2021-10-06 594 struct aggregate_driver *adrv)
b7f12127fd97fe Stephen Boyd 2021-10-06 595 {
b7f12127fd97fe Stephen Boyd 2021-10-06 596 struct aggregate_device *adev;
b7f12127fd97fe Stephen Boyd 2021-10-06 597
b7f12127fd97fe Stephen Boyd 2021-10-06 598 mutex_lock(&component_mutex);
b7f12127fd97fe Stephen Boyd 2021-10-06 @599 adev = __aggregate_find(parent, NULL);
b7f12127fd97fe Stephen Boyd 2021-10-06 600 mutex_unlock(&component_mutex);
b7f12127fd97fe Stephen Boyd 2021-10-06 601
b7f12127fd97fe Stephen Boyd 2021-10-06 602 if (adev)
b7f12127fd97fe Stephen Boyd 2021-10-06 603 device_unregister(&adev->dev);
b7f12127fd97fe Stephen Boyd 2021-10-06 604 put_device(&adev->dev);
b7f12127fd97fe Stephen Boyd 2021-10-06 605
b7f12127fd97fe Stephen Boyd 2021-10-06 606 aggregate_driver_unregister(adrv);
b7f12127fd97fe Stephen Boyd 2021-10-06 607 }
b7f12127fd97fe Stephen Boyd 2021-10-06 608 EXPORT_SYMBOL_GPL(component_aggregate_unregister);
b7f12127fd97fe Stephen Boyd 2021-10-06 609
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 34531 bytes --]
next prev parent reply other threads:[~2021-10-06 23:20 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-06 19:37 [PATCH v2 00/34] component: Make into an aggregate bus Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 01/34] component: Introduce struct aggregate_device Stephen Boyd
2021-10-07 1:17 ` Laurent Pinchart
2021-10-07 18:36 ` Stephen Boyd
2021-10-13 12:22 ` Daniel Vetter
2021-10-13 19:49 ` Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 02/34] component: Introduce the aggregate bus_type Stephen Boyd
2021-10-06 22:42 ` kernel test robot
2021-10-07 3:07 ` Saravana Kannan
2021-10-07 18:40 ` Stephen Boyd
2021-10-07 20:11 ` Stephen Boyd
2021-10-08 1:10 ` Saravana Kannan
2021-10-08 1:24 ` Stephen Boyd
2021-10-08 1:32 ` Saravana Kannan
2021-10-08 1:37 ` Stephen Boyd
2021-10-07 5:37 ` Greg Kroah-Hartman
2021-10-07 20:42 ` Stephen Boyd
2021-10-14 13:27 ` Daniel Vetter
2021-10-06 19:37 ` [PATCH v2 03/34] component: Move struct aggregate_device out to header file Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 04/34] drm/msm: Migrate to aggregate driver Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 05/34] component: Add {bind,unbind}_component() ops that take aggregate device Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 06/34] drm/of: Add a drm_of_aggregate_probe() API Stephen Boyd
2021-10-06 22:28 ` kernel test robot
2021-10-06 22:36 ` kernel test robot
2021-10-06 19:37 ` [PATCH v2 07/34] drm/komeda: Migrate to aggregate driver Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 08/34] drm/arm/hdlcd: " Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 09/34] drm/malidp: " Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 10/34] drm/armada: " Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 11/34] drm/etnaviv: " Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 12/34] drm/kirin: " Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 13/34] drm/exynos: " Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 14/34] drm/imx: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 15/34] drm/ingenic: " Stephen Boyd
2021-10-07 21:29 ` Paul Cercueil
2021-10-06 19:38 ` [PATCH v2 16/34] drm/mcde: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 17/34] drm/mediatek: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 18/34] drm/meson: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 19/34] drm/omap: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 20/34] drm/rockchip: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 21/34] drm/sti: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 22/34] drm/sun4i: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 23/34] drm/tilcdc: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 24/34] drm/vc4: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 25/34] drm/zte: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 26/34] iommu/mtk: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 27/34] mei: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 28/34] power: supply: ab8500: " Stephen Boyd
2021-10-13 16:24 ` Sebastian Reichel
2021-10-06 19:38 ` [PATCH v2 29/34] fbdev: omap2: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 30/34] sound: hdac: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 31/34] ASoC: codecs: wcd938x: " Stephen Boyd
2021-10-07 12:35 ` Mark Brown
2021-10-06 19:38 ` [PATCH v2 32/34] component: Get rid of drm_of_component_probe() Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 33/34] component: Remove component_master_ops and friends Stephen Boyd
2021-10-06 23:19 ` kernel test robot [this message]
2021-10-06 19:38 ` [PATCH v2 34/34] component: Remove all references to 'master' Stephen Boyd
2021-10-07 10:16 ` [PATCH v2 00/34] component: Make into an aggregate bus Andrzej Hajda
2021-10-07 20:46 ` Stephen Boyd
2021-10-13 12:14 ` Daniel Vetter
[not found] ` <CAHp75VdLg-rBjCDGEwgkY6QDbFGW0of4SjSmp08FXXRN_raQtQ@mail.gmail.com>
2021-10-07 12:33 ` Andrzej Hajda
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202110070715.67F9LH4p-lkp@intel.com \
--to=lkp@intel.com \
--cc=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=gregkh@linuxfoundation.org \
--cc=kbuild-all@lists.01.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=rafael@kernel.org \
--cc=rmk+kernel@arm.linux.org.uk \
--cc=robdclark@gmail.com \
--cc=saravanak@google.com \
--cc=swboyd@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).