Re: Patch of a new driver for kernel 2.4.x that need review

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

 



> > +       if (check_region(TLCLK_BASE, 8)) {
> > +               printk(KERN_ERR
> > +                      "telclock: I/O region already used by another
> > driver!\n");
> > +               return -EBUSY;
> > +       } else {
> > +               request_region(TLCLK_BASE, 8, "telclock");
> 
> request_region can fail too so you'd better handle that.

check_region() is essentially historical. It used to be that
check_region could fail and request_region did not. Once modules arrived
it becomes possible for drivers to race each other for resources so
request_region now atomically (with respect to itself) checks and if
available allocates a region.

check_region() shouldn't be used except for special cases where you
really want to see a space is free without requesting it. Even then if
you need to do any operation on the space while it is free you need to
request/act/release the region nto check_region for it.

Alan

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux