Re: linux-next: build failure after merge of the driver-core tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Greg,

On Mon, 28 Nov 2022 12:50:03 +0100 Greg KH <greg@xxxxxxxxx> wrote:
>
> On Mon, Nov 28, 2022 at 01:36:00PM +1100, Stephen Rothwell wrote:
> > 
> > After merging the driver-core tree, today's linux-next build (powerpc
> > ppc64_defconfig) failed like this:
> > 
> > arch/powerpc/platforms/book3s/vas-api.c: In function 'vas_register_coproc_api':
> > arch/powerpc/platforms/book3s/vas-api.c:590:38: error: assignment to 'char * (*)(const struct device *, umode_t *)' {aka 'char * (*)(const struct device *, short unsigned int *)'} from incompatible pointer type 'char * (*)(struct device *, umode_t *)' {aka 'char * (*)(struct device *, short unsigned int *)'} [-Werror=incompatible-pointer-types]
> >   590 |         coproc_device.class->devnode = coproc_devnode;
> >       |                                      ^
> > drivers/misc/cxl/file.c: In function 'cxl_file_init':
> > drivers/misc/cxl/file.c:687:28: error: assignment to 'char * (*)(const struct device *, umode_t *)' {aka 'char * (*)(const struct device *, short unsigned int *)'} from incompatible pointer type 'char * (*)(struct device *, umode_t *)' {aka 'char * (*)(struct device *, short unsigned int *)'} [-Werror=incompatible-pointer-types]
> >   687 |         cxl_class->devnode = cxl_devnode;
> >       |                            ^
> > 
> > Caused by commit
> > 
> >   ff62b8e6588f ("driver core: make struct class.devnode() take a const *")
> > 
> > I have used the driver-core tree from next-20221125 for today.  
> 
> Hm, how do we resolve problems like this where an api changes in my
> branch but needs to be updated in another branch that is not in Linus's
> tree yet?

That is not the case here:

$ git show ff62b8e6588f:arch/powerpc/platforms/book3s/vas-api.c | grep coproc_devnode
static char *coproc_devnode(struct device *dev, umode_t *mode)
	coproc_device.class->devnode = coproc_devnode;
$ git show ff62b8e6588f:drivers/misc/cxl/file.c | grep cxl_devnode
static char *cxl_devnode(struct device *dev, umode_t *mode)
	cxl_class->devnode = cxl_devnode;

You just need to add a commit to your tree that updates the missed cases.
-- 
Cheers,
Stephen Rothwell

Attachment: pgpZExkPb5p4b.pgp
Description: OpenPGP digital signature


[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux