mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 17:30:02 +00:00
![Thomas Gleixner](/assets/img/avatar_default.png)
Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details you should have received a copy of the gnu general public license along with this program if not write to the free software foundation inc 51 franklin st fifth floor boston ma 02110 1301 usa extracted by the scancode license scanner the SPDX license identifier GPL-2.0-or-later has been chosen to replace the boilerplate/reference in 50 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Reviewed-by: Allison Randal <allison@lohutok.net> Reviewed-by: Richard Fontana <rfontana@redhat.com> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190523091649.499889647@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
57 lines
1.7 KiB
C
57 lines
1.7 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Copyright © 1999-2010 David Woodhouse <dwmw2@infradead.org>
|
|
*/
|
|
|
|
#ifndef __MTD_NFTL_H__
|
|
#define __MTD_NFTL_H__
|
|
|
|
#include <linux/mtd/mtd.h>
|
|
#include <linux/mtd/blktrans.h>
|
|
|
|
#include <mtd/nftl-user.h>
|
|
|
|
/* these info are used in ReplUnitTable */
|
|
#define BLOCK_NIL 0xffff /* last block of a chain */
|
|
#define BLOCK_FREE 0xfffe /* free block */
|
|
#define BLOCK_NOTEXPLORED 0xfffd /* non explored block, only used during mounting */
|
|
#define BLOCK_RESERVED 0xfffc /* bios block or bad block */
|
|
|
|
struct NFTLrecord {
|
|
struct mtd_blktrans_dev mbd;
|
|
__u16 MediaUnit, SpareMediaUnit;
|
|
__u32 EraseSize;
|
|
struct NFTLMediaHeader MediaHdr;
|
|
int usecount;
|
|
unsigned char heads;
|
|
unsigned char sectors;
|
|
unsigned short cylinders;
|
|
__u16 numvunits;
|
|
__u16 lastEUN; /* should be suppressed */
|
|
__u16 numfreeEUNs;
|
|
__u16 LastFreeEUN; /* To speed up finding a free EUN */
|
|
int head,sect,cyl;
|
|
__u16 *EUNtable; /* [numvunits]: First EUN for each virtual unit */
|
|
__u16 *ReplUnitTable; /* [numEUNs]: ReplUnitNumber for each */
|
|
unsigned int nb_blocks; /* number of physical blocks */
|
|
unsigned int nb_boot_blocks; /* number of blocks used by the bios */
|
|
struct erase_info instr;
|
|
};
|
|
|
|
int NFTL_mount(struct NFTLrecord *s);
|
|
int NFTL_formatblock(struct NFTLrecord *s, int block);
|
|
|
|
int nftl_read_oob(struct mtd_info *mtd, loff_t offs, size_t len,
|
|
size_t *retlen, uint8_t *buf);
|
|
int nftl_write_oob(struct mtd_info *mtd, loff_t offs, size_t len,
|
|
size_t *retlen, uint8_t *buf);
|
|
|
|
#ifndef NFTL_MAJOR
|
|
#define NFTL_MAJOR 93
|
|
#endif
|
|
|
|
#define MAX_NFTLS 16
|
|
#define MAX_SECTORS_PER_UNIT 64
|
|
#define NFTL_PARTN_BITS 4
|
|
|
|
#endif /* __MTD_NFTL_H__ */
|