01 Aug, 2011

5 commits

  • Instead of unconditionally creating a fixed number of dead loop
    devices which need to be investigated by storage handling services,
    even when they are never used, we allow distros start with 0
    loop devices and have losetup(8) and similar switch to the dynamic
    /dev/loop-control interface instead of searching /dev/loop%i for free
    devices.

    Signed-off-by: Kay Sievers
    Signed-off-by: Jens Axboe

    Kay Sievers
     
  • Loop devices today have a fixed pre-allocated number of usually 8.
    The number can only be changed at module init time. To find a free
    device to use, /dev/loop%i needs to be scanned, and all devices need
    to be opened until a free one is possibly found.

    This adds a new /dev/loop-control device node, that allows to
    dynamically find or allocate a free device, and to add and remove loop
    devices from the running system:
    LOOP_CTL_ADD adds a specific device. Arg is the number
    of the device. It returns the device i or a negative
    error code.

    LOOP_CTL_REMOVE removes a specific device, Arg is the
    number the device. It returns the device i or a negative
    error code.

    LOOP_CTL_GET_FREE finds the next unbound device or allocates
    a new one. No arg is given. It returns the device i or a
    negative error code.

    The loop kernel module gets automatically loaded when
    /dev/loop-control is accessed the first time. The alias
    specified in the module, instructs udev to create this
    'dead' device node, even when the module is not loaded.

    Example:
    cfd = open("/dev/loop-control", O_RDWR);

    # add a new specific loop device
    err = ioctl(cfd, LOOP_CTL_ADD, devnr);

    # remove a specific loop device
    err = ioctl(cfd, LOOP_CTL_REMOVE, devnr);

    # find or allocate a free loop device to use
    devnr = ioctl(cfd, LOOP_CTL_GET_FREE);

    sprintf(loopname, "/dev/loop%i", devnr);
    ffd = open("backing-file", O_RDWR);
    lfd = open(loopname, O_RDWR);
    err = ioctl(lfd, LOOP_SET_FD, ffd);

    Cc: Tejun Heo
    Cc: Karel Zak
    Signed-off-by: Kay Sievers
    Signed-off-by: Jens Axboe

    Kay Sievers
     
  • Replace the linked list, that keeps track of allocated devices, with an
    idr index to allow a more efficient lookup of devices.

    Cc: Tejun Heo
    Signed-off-by: Kay Sievers
    Signed-off-by: Jens Axboe

    Kay Sievers
     
  • * git://git.infradead.org/battery-2.6:
    gpio-charger: Fix checking return value of request_any_context_irq
    power_supply: MAX17042: Support additional properties
    max8903_charger: Allow platform data to be __initdata
    power_supply: Add charger driver for MAX8998/LP3974
    power_supply: Add charger driver for MAX8997/8966
    max17042_battery: Remove obsolete cleanup for clientdata
    twl4030_charger: Fix warnings
    wm831x_power: Support multiple instances
    wm831x_backup: Support multiple instances
    apm_power: Fix style error in macros
    s3c_adc_battery: Fix annotation for s3c_adc_battery_probe()
    bq20z75: Enable detection after registering
    bq20z75: Add support for external notification

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6:
    smc91c92_cs.c: fix bogus compiler warning
    orinoco_cs: be more careful when matching cards with ID 0x0156:0x0002
    hostap_cs: support cards with "Version 01.02" as third product ID
    pcmcia: add PCMCIA_DEVICE_MANF_CARD_PROD_ID3
    pxa2xx pcmcia - stargate 2 use gpio array.
    pcmcia: pxa2xx: remove empty socket_init / socket_resume functions.
    drivers:pcmcia:soc_common: make socket_init and socket_suspend optional

    Linus Torvalds
     

31 Jul, 2011

3 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial:
    sungem: fix compile failure caused by trivial #include consolidation

    Linus Torvalds
     
  • * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging: (24 commits)
    hwmon: (lm90) Refactor reading of config2 register
    hwmon: (lm90) Make SA56004 detection more robust
    hwmon: (lm90) Simplify handling of extended local temp register
    hwmon: (pmbus) Add client driver for LM25066, LM5064, and LM5066
    hwmon: (max34440) Add support for peak attributes
    hwmon: (max8688) Add support for peak attributes
    hwmon: (max16064) Add support for peak attributes
    hwmon: (adm1275) Add support for peak attributes
    hwmon: (pmbus) Add support for peak attributes
    hwmon: Add new attributes to sysfs ABI
    hwmon: (pmbus) Strengthen check for status register existence
    hwmon: (pmbus) Add support for virtual pages
    hwmon: (pmbus) Support reading and writing of word registers in device specific code
    hwmon: (pmbus) Increase attribute name size
    hwmon: (pmbus) Add ADP4000, NCP4200 and NCP4208 to list of supported devices
    hwmon: (pmbus) Add support for VID output voltage mode
    hwmon: (pmbus) Move PMBus drivers to drivers/hwmon/pmbus
    hwmon: (coretemp) Add core/pkg threshold support to Coretemp
    hwmon: (lm95241) Add support for LM95231
    hwmon: LM95245 driver
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (71 commits)
    [SCSI] fcoe: cleanup cpu selection for incoming requests
    [SCSI] fcoe: add fip retry to avoid missing critical keep alive
    [SCSI] libfc: fix warn on in lport retry
    [SCSI] libfc: Remove the reference to FCP packet from scsi_cmnd in case of error
    [SCSI] libfc: cleanup sending SRR request
    [SCSI] libfc: two minor changes in comments
    [SCSI] libfc, fcoe: ignore rx frame with wrong xid info
    [SCSI] libfc: release exchg cache
    [SCSI] libfc: use FC_MAX_ERROR_CNT
    [SCSI] fcoe: remove unused ptype field in fcoe_rcv_info
    [SCSI] bnx2fc: Update copyright and bump version to 1.0.4
    [SCSI] bnx2fc: Tx BDs cache in write tasks
    [SCSI] bnx2fc: Do not arm CQ when there are no CQEs
    [SCSI] bnx2fc: hold tgt lock when calling cmd_release
    [SCSI] bnx2fc: Enable support for sequence level error recovery
    [SCSI] bnx2fc: HSI changes for tape
    [SCSI] bnx2fc: Handle REC_TOV error code from firmware
    [SCSI] bnx2fc: REC/SRR link service request and response handling
    [SCSI] bnx2fc: Support 'sequence cleanup' task
    [SCSI] dh_rdac: Associate HBA and storage in rdac_controller to support partitions in storage
    ...

    Linus Torvalds
     

30 Jul, 2011

7 commits

  • * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (430 commits)
    [media] ir-mce_kbd-decoder: include module.h for its facilities
    [media] ov5642: include module.h for its facilities
    [media] em28xx: Fix DVB-C maxsize for em2884
    [media] tda18271c2dd: Fix saw filter configuration for DVB-C @6MHz
    [media] v4l: mt9v032: Fix Bayer pattern
    [media] V4L: mt9m111: rewrite set_pixfmt
    [media] V4L: mt9m111: fix missing return value check mt9m111_reg_clear
    [media] V4L: initial driver for ov5642 CMOS sensor
    [media] V4L: sh_mobile_ceu_camera: fix Oops when USERPTR mapping fails
    [media] V4L: soc-camera: remove soc-camera bus and devices on it
    [media] V4L: soc-camera: un-export the soc-camera bus
    [media] V4L: sh_mobile_csi2: switch away from using the soc-camera bus notifier
    [media] V4L: add media bus configuration subdev operations
    [media] V4L: soc-camera: group struct field initialisations together
    [media] V4L: soc-camera: remove now unused soc-camera specific PM hooks
    [media] V4L: pxa-camera: switch to using standard PM hooks
    [media] NetUP Dual DVB-T/C CI RF: force card hardware revision by module param
    [media] Don't OOPS if videobuf_dvb_get_frontend return NULL
    [media] NetUP Dual DVB-T/C CI RF: load firmware according card revision
    [media] omap3isp: Support configurable HS/VS polarities
    ...

    Fix up conflicts:
    - arch/arm/mach-omap2/board-rx51-peripherals.c:
    cleanup regulator supply definitions in mach-omap2
    vs
    OMAP3: RX-51: define vdds_csib regulator supply
    - drivers/staging/tm6000/tm6000-alsa.c (trivial)

    Linus Torvalds
     
  • * 'stable/bug.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen/balloon: Fix compile errors - missing header files.
    xen/grant: Fix compile warning.
    xen/pciback: remove duplicated #include

    Linus Torvalds
     
  • Fixes this:

    drivers/char/ramoops.c: In function 'ramoops_init':
    drivers/char/ramoops.c:221: error: implicit declaration of function 'IS_ERR'
    drivers/char/ramoops.c:222: error: implicit declaration of function 'PTR_ERR'

    If it actually builds on other platforms, it's probably getting
    linux/err.h via some other #include.

    Signed-off-by: James Bottomley
    Signed-off-by: Linus Torvalds

    James Bottomley
     
  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    PCI: remove printks about disabled bridge windows
    PCI: fold pci_calc_resource_flags() into decode_bar()
    PCI: treat mem BAR type "11" (reserved) as 32-bit, not 64-bit, BAR
    PCI: correct pcie_set_readrq write size
    PCI: pciehp: change wait time for valid configuration access
    x86/PCI: Preserve existing pci=bfsort whitelist for Dell systems
    PCI: ARI is a PCIe v2 feature
    x86/PCI: quirks: Use pci_dev->revision
    PCI: Make the struct pci_dev * argument of pci_fixup_irqs const.
    PCI hotplug: cpqphp: use pci_dev->vendor
    PCI hotplug: cpqphp: use pci_dev->subsystem_{vendor|device}
    x86/PCI: config space accessor functions should not ignore the segment argument
    PCI: Assign values to 'pci_obff_signal_type' enumeration constants
    x86/PCI: reduce severity of host bridge window conflict warnings
    PCI: enumerate the PCI device only removed out PCI hieratchy of OS when re-scanning PCI
    PCI: PCIe AER: add aer_recover_queue
    x86/PCI: select direct access mode for mmconfig option
    PCI hotplug: Rename is_ejectable which also exists in dock.c

    Linus Torvalds
     
  • * 'next/dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc: (21 commits)
    arm/dt: tegra devicetree support
    arm/versatile: Add device tree support
    dt/irq: add irq_domain_generate_simple() helper
    irq: add irq_domain translation infrastructure
    dmaengine: imx-sdma: add device tree probe support
    dmaengine: imx-sdma: sdma_get_firmware does not need to copy fw_name
    dmaengine: imx-sdma: use platform_device_id to identify sdma version
    mmc: sdhci-esdhc-imx: add device tree probe support
    mmc: sdhci-pltfm: dt device does not pass parent to sdhci_alloc_host
    mmc: sdhci-esdhc-imx: get rid of the uses of cpu_is_mx()
    mmc: sdhci-esdhc-imx: do not reference platform data after probe
    mmc: sdhci-esdhc-imx: extend card_detect and write_protect support for mx5
    net/fec: add device tree probe support
    net: ibm_newemac: convert it to use of_get_phy_mode
    dt/net: add helper function of_get_phy_mode
    net/fec: gasket needs to be enabled for some i.mx
    serial/imx: add device tree probe support
    serial/imx: get rid of the uses of cpu_is_mx1()
    arm/dt: Add dtb make rule
    arm/dt: Add skeleton dtsi file
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-watchdog: (25 commits)
    watchdog: WatchDog Timer Driver Core - Add minimum and max timeout
    watchdog: WatchDog Timer Driver Core - Add ioctl call
    watchdog: WatchDog Timer Driver Core - Add nowayout feature
    watchdog: WatchDog Timer Driver Core - Add Magic Close feature
    watchdog: WatchDog Timer Driver Core - Add WDIOC_SETTIMEOUT and WDIOC_GETTIMEOUT ioctl
    watchdog: WatchDog Timer Driver Core - Add WDIOC_SETOPTIONS ioctl
    watchdog: WatchDog Timer Driver Core - Add WDIOC_KEEPALIVE ioctl
    watchdog: WatchDog Timer Driver Core - Add basic ioctl functionality
    watchdog: WatchDog Timer Driver Core - Add basic framework
    watchdog: hpwdt: add next gen HP servers
    watchdog: it8712f_wdt.c: improve includes
    watchdog: at91sam9/wdt: move register header to drivers
    watchdog: Add Xilinx watchdog timer driver
    watchdog: remove empty pm-functions
    watchdog: sp805: Flush posted writes in enable/disable.
    watchdog: sp805: Don't write 0 to the load value register.
    watchdog: imx2_wdt: add device tree probe support
    watchdog: s3c2410: Add support for device tree based probe
    watchdog: mpcore_wdt: Add suspend/resume support.
    watchdog: mtx1-wdt: use dev_{err,info} instead of printk()
    ...

    Linus Torvalds
     
  • On a recent compile, I got this warning:

    CC [M] drivers/net/pcmcia/smc91c92_cs.o
    drivers/net/pcmcia/smc91c92_cs.c: In function ‘smc91c92_probe’:
    drivers/net/pcmcia/smc91c92_cs.c:812:12: warning: ‘j’ may be used uninitialized in this function

    However, "j" is only used in a branch which has the same condition as
    a previous branch, where j is set, e.g.

    int j;

    if (CONDITION)
    j = VALUE

    ...

    if (CONDITION)
    printk(j)

    Still, avoid this warning, as it is easy to circumvent.

    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     

29 Jul, 2011

25 commits

  • Without CONFIG_HERMES_PRISM, only match cards that have "Version 01.01"
    as the third product ID. Those have Agere firmware.

    With CONFIG_HERMES_PRISM, match all 0x0156:0x0002 cards.

    Signed-off-by: Pavel Roskin
    Signed-off-by: Dominik Brodowski

    Pavel Roskin
     
  • Cards with numeric ID 0x0156:0x0002 and third ID "Version 01.02" can be
    assumed to have Intersil firmware. Cards with Agere firmware use
    "Version 01.01".

    Signed-off-by: Pavel Roskin
    Signed-off-by: Dominik Brodowski

    Pavel Roskin
     
  • Kill off the buff gpio as not used anywhere.

    Signed-off-by: Jonathan Cameron
    Signed-off-by: Dominik Brodowski

    Jonathan Cameron
     
  • Now the are optional, let us get rid of the ones that don't have
    any content.

    Signed-off-by: Jonathan Cameron
    Signed-off-by: Dominik Brodowski

    Jonathan Cameron
     
  • 10 boards define these empty, probably indicating not everyone has a use for them.

    Signed-off-by: Jonathan Cameron
    Signed-off-by: Dominik Brodowski

    Jonathan Cameron
     
  • drivers/media/rc/ir-mce_kbd-decoder.c:446:16: error: expected declaration specifiers or '...' before string constant
    drivers/media/rc/ir-mce_kbd-decoder.c:446:1: warning: data definition has no type or storage class
    drivers/media/rc/ir-mce_kbd-decoder.c:446:1: warning: type defaults to 'int' in declaration of 'MODULE_LICENSE'
    drivers/media/rc/ir-mce_kbd-decoder.c:446:16: warning: function declaration isn't a prototype
    drivers/media/rc/ir-mce_kbd-decoder.c:447:15: error: expected declaration specifiers or '...' before string constant
    drivers/media/rc/ir-mce_kbd-decoder.c:447:1: warning: data definition has no type or storage class
    drivers/media/rc/ir-mce_kbd-decoder.c:447:1: warning: type defaults to 'int' in declaration of 'MODULE_AUTHOR'
    drivers/media/rc/ir-mce_kbd-decoder.c:447:15: warning: function declaration isn't a prototype
    drivers/media/rc/ir-mce_kbd-decoder.c:448:20: error: expected declaration specifiers or '...' before string constant
    drivers/media/rc/ir-mce_kbd-decoder.c:448:1: warning: data definition has no type or storage class
    drivers/media/rc/ir-mce_kbd-decoder.c:448:1: warning: type defaults to 'int' in declaration of 'MODULE_DESCRIPTION'
    drivers/media/rc/ir-mce_kbd-decoder.c:448:20: warning: function declaration isn't a prototype

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Mauro Carvalho Chehab

    Stephen Rothwell
     
  • drivers/media/video/ov5642.c:985:1: warning: data definition has no type or storage class
    drivers/media/video/ov5642.c:985:1: warning: type defaults to 'int' in declaration of 'MODULE_DEVICE_TABLE'
    drivers/media/video/ov5642.c:985:1: warning: parameter names (without types) in function declaration
    drivers/media/video/ov5642.c: In function 'ov5642_mod_init':
    drivers/media/video/ov5642.c:998:9: error: 'THIS_MODULE' undeclared (first use in this function)
    drivers/media/video/ov5642.c:998:9: note: each undeclared identifier is reported only once for each function it appears in
    drivers/media/video/ov5642.c: At top level:
    drivers/media/video/ov5642.c:1009:20: error: expected declaration specifiers or '...' before string constant
    drivers/media/video/ov5642.c:1009:1: warning: data definition has no type or storage class
    drivers/media/video/ov5642.c:1009:1: warning: type defaults to 'int' in declaration of 'MODULE_DESCRIPTION'
    drivers/media/video/ov5642.c:1009:20: warning: function declaration isn't a prototype
    drivers/media/video/ov5642.c:1010:15: error: expected declaration specifiers or '...' before string constant
    drivers/media/video/ov5642.c:1010:1: warning: data definition has no type or storage class
    drivers/media/video/ov5642.c:1010:1: warning: type defaults to 'int' in declaration of 'MODULE_AUTHOR'
    drivers/media/video/ov5642.c:1010:15: warning: function declaration isn't a prototype
    drivers/media/video/ov5642.c:1011:16: error: expected declaration specifiers or '...' before string constant
    drivers/media/video/ov5642.c:1011:1: warning: data definition has no type or storage class
    drivers/media/video/ov5642.c:1011:1: warning: type defaults to 'int' in declaration of 'MODULE_LICENSE'
    drivers/media/video/ov5642.c:1011:16: warning: function declaration isn't a prototype
    drivers/media/video/ov5642.c: In function 'ov5642_mod_init':
    drivers/media/video/ov5642.c:999:1: warning: control reaches end of non-void function

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Mauro Carvalho Chehab

    Stephen Rothwell
     
  • Only Sparc and PPC actually have the asm/prom.h include and as such they
    can't be moved outside of the ifdefs.

    Reported-by: James Bottomley
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • Several vendors implement a second configuration register, which we
    check during device detection. Refactor the code to avoid duplication.

    Signed-off-by: Jean Delvare
    Cc: Stijn Devriendt
    Cc: Guenter Roeck
    Signed-off-by: Guenter Roeck

    Jean Delvare
     
  • With a device ID register value of 0, the SA56004 detection is rather
    weak. Check several other register too to confirm the detection, as we
    do for other supported devices.

    Signed-off-by: Jean Delvare
    Cc: Stijn Devriendt
    Cc: Guenter Roeck
    Acked-by: Stijn Devriendt
    Signed-off-by: Guenter Roeck

    Jean Delvare
     
  • The optional extended local temperature register can never have
    address 0, as this address is already used by another register. Thus
    we can get rid of flag LM90_HAVE_LOCAL_EXT and simply rely on
    reg_local_ext being non-zero to determine if a given chip has this
    extension or not. This makes the code more simple.

    Signed-off-by: Jean Delvare
    Cc: Stijn Devriendt
    Cc: Guenter Roeck
    Signed-off-by: Guenter Roeck

    Jean Delvare
     
  • PMBus client driver supporting National Semiconductor LM25066, LM5064, and LM5066.

    Signed-off-by: Guenter Roeck
    Reviewed-by: Robert Coulson

    Guenter Roeck
     
  • Add support for voltage, current, and temperature peak (historic maximum)
    attributes.

    Signed-off-by: Guenter Roeck
    Reviewed-by: Robert Coulson

    Guenter Roeck
     
  • Add support for voltage, current, and temperature peak (historic maximum)
    attributes.

    Signed-off-by: Guenter Roeck

    Guenter Roeck
     
  • Add support for voltage and temperature peak (historic maximum) attributes.

    Signed-off-by: Guenter Roeck
    Reviewed-by: Robert Coulson

    Guenter Roeck
     
  • Add support for voltage and current peak (historic maximum) attributes.

    Signed-off-by: Guenter Roeck
    Reviewed-by: Robert Coulson

    Guenter Roeck
     
  • Most PMBus devices provide manufacturer specific commands to read low and/or
    high peak values for some or all of its sensors.

    To support providing those values as lowest/highest attributes to the user,
    introduce virtual PMBus commands. Those commands reside outside the normal
    command set and have to be implemented in device specific code, which map the
    virtual commands to device specific commands.

    Signed-off-by: Guenter Roeck
    Reviewed-by: Robert Coulson

    Guenter Roeck
     
  • With virtual register page support, it is now possible that the status register
    on virtual pages does not exist or is itself virtual. To take this into account
    when creating alarm attributes, generate those attributes only if the status
    register on the respective page is known to exist.

    Signed-off-by: Guenter Roeck
    Reviewed-by: Robert Coulson

    Guenter Roeck
     
  • Some PMBus chips have non-standard sensor registers. An easy way to
    support such sensors is to introduce virtual pages and map the non-standard
    registers into standard registers on an extra page.

    For this to work, the code verifying if the configured number of pages exists
    has to be removed. Since a wrong number of pages can only be configured in a
    front-end driver, this should not have a practical impact since the resulting
    errors should be found during development and testing.

    Also, functions to read the chip status while checking if a command register
    exists must be modified to no longer set the page register before reading the
    status, since the physical page associated with the checked register may not
    exist. This does not make a functional difference since the page was already set
    when the attempt to read the register was made.

    Signed-off-by: Guenter Roeck
    Reviewed-by: Robert Coulson

    Guenter Roeck
     
  • Some PMBus devices use non-standard registers for some of the sensors and/or
    limits. To support such devices, add code to support reading and writing of word
    size registers in device specific code.

    Signed-off-by: Guenter Roeck
    Reviewed-by: Robert Coulson

    Guenter Roeck
     
  • Some hwmon sysfs attributes have a length of 20 bytes (plus terminating 0).
    I2C_NAME_SIZE is defined as 20 and thus can not be used to define the length
    of hwmon sysfs attributes. Replace it with PMBUS_NAME_SIZE, set to 24.

    Signed-off-by: Guenter Roeck
    Reviewed-by: Robert Coulson

    Guenter Roeck
     
  • Add ADP4000, NCP4200 and NCP4208 to the list of devices supported by the generic
    PMBus driver, and add device IDs to enable explicit instantiation.

    Signed-off-by: Guenter Roeck
    Reviewed-by: Robert Coulson
    Acked-by: Jean Delvare

    Guenter Roeck
     
  • In VID mode, output voltages are measured and reported as VID values, and
    have to be converted to voltages using VID conversion tables or functions.
    Support is added for VR11 only at this time.

    This patch enables support for PMBus devices supporting VID VR11 based output
    voltage selection such as NCP4200 and NCP4208.

    Signed-off-by: Guenter Roeck
    Reviewed-by: Robert Coulson

    Guenter Roeck
     
  • The logic at em28xx_isoc_dvb_max_packetsize() sucks, at least for newer
    the needed packet size. Yet, it is better than nothing.

    Rewrite the code in order to change the default to 752 for em2884 and
    newer chips and provide a better way to handle per-chipset specifics.

    For em2874, the current default should be enough, as the only em2874
    board is currently a 1-seg ISDB-T board, so, it needs only a limited
    amount of bandwidth.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Currently, the driver assumes that all QAM carriers are spaced with
    8MHz. This is wrong, and may decrease QoS on Countries like Brazil,
    that have DVB-C carriers with 6MHz-spaced.

    Fortunately, both ITU-T J-83 and EN 300 429 specifies a way to
    associate the symbol rate with the bandwidth needed for it.

    For ITU-T J-83 2007 annex A, the maximum symbol rate for 6 MHz is:
    6 MHz / 1.15 = 5217391 Bauds
    For ITU-T J-83 2007 annex C, the maximum symbol rate for 6 MHz is:
    6 MHz / 1.13 = 5309735 Bauds.

    As this tuner is currently used only for DRX-K, and it is currently
    hard-coded to annex A, I've opted to use the roll-off factor of 0.15,
    instead of 0.13.

    If we ever support annex C, the better would be to add a DVB S2API
    call to allow changing between Annex A and C, and add the 0.13 roll-off
    factor to it.

    This code is currently being used on other frontends, so I think we
    should later add a core function with this code, to warrant that
    it will be properly implemented everywhere.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab