linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 3 version of MKDEV: kernel, uapi, libc, why?
@ 2018-04-11  8:51 Zhang, Ning A
  2018-04-11 10:04 ` gregkh
  0 siblings, 1 reply; 3+ messages in thread
From: Zhang, Ning A @ 2018-04-11  8:51 UTC (permalink / raw)
  To: pombredanne, tglx, gregkh, kstewart; +Cc: linux-kernel

Hi, Greg, Thomas

I find 3 version of MKDEV (actually 2 + makedev)

in include/linux/kdev_t.h

    #define MINORBITS    	    20
    #define MKDEV(ma,mi)    	    (((ma) << MINORBITS) | (mi))

in inlcude/uapi/linux/kdev_t.h

    #define MKDEV(ma,mi)    	    ((ma)<<8 | (mi))

in Android bionic

    #define makedev(__major, __minor) \
      ( \
        (((__major) & 0xfffff000ULL) << 32) | (((__major) & 0xfffULL) <<
    8) | \
        (((__minor) & 0xffffff00ULL) << 12) | (((__minor) & 0xffULL)) \
      )

if I use mknod("renderD128", S_IFCHR|0666, MKDEV(226, 128));
I get wrong device:
crw-rw-rw- 1 root graphics 0, 57984 2011-11-11 11:20 renderD128


if I use ("renderD128",S_IFCHR|0666, makedev(226, 128));
I get right device.

but, when I use: mknod("card0", S_IFCHR|0666, MKDEV(226, 0));
I can get right device.

BR.
Ning.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-04-12  1:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-11  8:51 3 version of MKDEV: kernel, uapi, libc, why? Zhang, Ning A
2018-04-11 10:04 ` gregkh
2018-04-12  1:45   ` Zhang, Ning A

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).